| 
									
										
										
										
											2020-03-11 13:51:49 +00:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | # Make sure ES is available | 
					
						
							|  |  |  | myES="http://127.0.0.1:64298/" | 
					
						
							|  |  |  | myESSTATUS=$(curl -s -XGET ''$myES'_cluster/health' | jq '.' | grep -c green) | 
					
						
							|  |  |  | if ! [ "$myESSTATUS" = "1" ] | 
					
						
							|  |  |  |   then | 
					
						
							| 
									
										
										
										
											2024-03-18 15:19:49 +00:00
										 |  |  |     echo "### Elasticsearch is not available." | 
					
						
							| 
									
										
										
										
											2020-03-11 13:51:49 +00:00
										 |  |  |     exit 1 | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     echo "### Elasticsearch is available, now continuing." | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function fuMYTOPIPS { | 
					
						
							|  |  |  | curl -s -XGET $myES"_search" -H 'Content-Type: application/json' -d' | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   "aggs": { | 
					
						
							|  |  |  |     "ips": { | 
					
						
							|  |  |  |       "terms": { "field": "src_ip.keyword", "size": 100 } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   "size" : 0 | 
					
						
							|  |  |  | }' | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "### Aggregating top 100 source IPs in ES" | 
					
						
							|  |  |  | fuMYTOPIPS | jq '.aggregations.ips.buckets[].key' | tr -d '"' |