一、常用插件介紹
獲取指定端口的連接狀態ESTABLISHED、CLOSE_WAIT、LISTEN等
tcpconns:
<Plugin tcpconns>
ListeningPorts false
LocalPort "80"
RemotePort "80"
</Plugin>
獲取Nginx的狀態
nginx:
<Plugin nginx>
URL "http://test.tt.com/NginxStatus"
</Plugin>
ping:
<Plugin ping>
Host "172.18.2.125"
Interval 10.0
Timeout 1.0
</Plugin>
獲取網卡的流量
interface:
<Plugin interface>
Interface "eth0"
</Plugin>
以下插件直接取消註釋即可
cpu
load
memory
processes
二、通過influxDB的HTTP API操作數據庫
1.創建數據庫
#curl -G http://172.18.1.113:8086/query --data-urlencode "q=CREATE DATABASE mydb"
2.插入數據
#插入單條數據
#curl -i -XPOST 'http://172.18.1.113:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.66'
#一次插入多條數據提高效率
#curl -i -XPOST 'http://172.18.1.113:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67
cpu_load_short,host=server02,region=us-west value=0.55
cpu_load_short,direction=in,host=server01,region=us-west value=2.0'
#將數據寫入文件一次性插入
#curl -i -XPOST 'http://172.18.1.113:8086/write?db=mydb' --data-binary @test.txt
#cat test.txt
cpu_load_short,host=server02 value=0.67
cpu_load_short,host=server02,region=us-west value=0.75
cpu_load_short,direction=in,host=server01,region=us-west value=7.0
3.查詢數據
#curl -G 'http://172.18.1.113:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"
使用命令行查詢
#influx > show databases; name: databases --------------- name _internal collectd grafana mydb > use collectd; Using database collectd > select * from /load/ where host='t125' limit 2; name: load_longterm ------------------- timehosttypevalue 1456453923000000000t125load0 1456453933000000000t125load0 name: load_midterm ------------------ timehosttypevalue 1456453923000000000t125load0 1456453933000000000t125load0 name: load_shortterm -------------------- timehosttypevalue 1456453923000000000t125load0 1456453933000000000t125load0
三、自定義監控數據
示例:監控站點的響應時間
#!bin/bash time=`curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{http_code} --connect-timeout 60 http://www.baidu.com time_connect=`echo $time|cut -d ':' -f1` time_starttransfer=`echo $time|cut -d ':' -f2` http_code=`echo $time|cut -d ':' -f3` response_time=($(echo $time_starttransfer-$time_connect|bc)) curl -i -XPOST 'http://127.0.0.1:8086/write?db=collectd' --data-binary "oss_web,url=$1,type=response_time value=$response_time oss_web,url=$1,type=time_connect value=$time_connect oss_web,url=$1,type=time_starttransfer value=$time_starttransfer oss_web,url=$1,type=http_code value=$http_code"
加入定時任務一分鐘執行一次。然後去grafana繪圖