实验环境: 106.12.88.74 ---> influxdb 1.7.6 Centos 7.5 106.12.88.228 ---> Grafana 6.2.2.1 Centos 7.5 +++++++++++++++++++++++++++++++++ 内存监控:[ 106.12.88.74 上面,写python 脚本。] vim /data/influxdb/virtual_memory.py from influxdb import InfluxDBClient import psutil virtual_memory = psutil.virtual_memory() client = InfluxDBClient('127.0.0.1', 8086, 'xc', 'w…123', 'shijiange') data_list = [{'measurement': 'memory', 'tags': {'item': 'total'}, 'fields': {'value': float(virtual_memory.total)}}] client.write_points(data_list) data_list = [{'measurement': 'memory', 'tags': {'item': 'available'}, 'fields': {'value': float(virtual_memory.available)}}] client.write_points(data_list) data_list = [{'measurement': 'memory', 'tags': {'item': 'used'}, 'fields': {'value': float(virtual_memory.used)}}] client.write_points(data_list)保存退出。执行脚本,登录influxdb 查看有无数据
添加到linux的crontab任务,然后图表展示观察 vim /etc/crontab
保存退出。 登录Grafana(106.12.88.228) 创建新的一个面板mem_jk存放在shijiange这个文件夹 添加图形:
![]()
![]()
内存的换算一般都是用的1024的比例,Grafana上两个单位 data(iec) 这个是按照1024比例来算的 data(metric) 这个是按照1000比例来算的
![]()
![]()
保存
![]()
磁盘监控: vim /data/influxdb/disk.py from influxdb import InfluxDBClient import psutil client = InfluxDBClient('127.0.0.1', 8086, 'xc', 'w…123', 'shijiange') for one_disk in psutil.disk_partitions(): mountpoint = one_disk.mountpoint diskused = psutil.disk_usage(mountpoint).percent data_list = [{'measurement': 'disk', 'tags': {'item': 'diskused.%s' % mountpoint}, 'fields': {'value': float(diskused)}}] client.write_points(data_list)
保存退出,运行脚本 。
添加到linux的crontab任务,然后图表展示观察
保存退出。 登录Grafana(106.12.88.228) 创建新的一个面板net_jk存放在shijiange这个文件夹 添加图形:
![]()
![]()
![]()
![]()
![]()
![]()
网卡流量监控: vim /data/influxdb/traffic.py from influxdb import InfluxDBClient import psutil client = InfluxDBClient('127.0.0.1', 8086, 'xc', 'w…123', 'shijiange') for netname, netinfo in psutil.net_io_counters(pernic=True).items(): bytes_sent = netinfo.bytes_sent bytes_recv = netinfo.bytes_recv data_list = [{'measurement': 'traffic', 'tags': {'item': 'bytes_sent.%s' % netname}, 'fields': {'value': bytes_sent}}] client.write_points(data_list) data_list = [{'measurement': 'traffic', 'tags': {'item': 'bytes_recv.%s' % netname}, 'fields': {'value': bytes_recv}}] client.write_points(data_list)
保存退出。运行这个脚本,登录数据库,查看数据。
添加到linux的crontab任务,然后图表展示观察
登录Grafana(106.12.88.228) 创建新的一个面板net_jk存放在shijiange这个文件夹 添加图形:
![]()
![]()
![]()
![]()
![]()
流量单位说明(每秒的流量,无负数) 通过psutil收集到的是Bytes,流量单位一般bit,所以说还乘以8
说明 influxdb+grafana的组合监控硬件并不是好选择,如果熟悉Zabbix的话,推荐Zabbix来监控硬件。 influxdb+grafana的组合用来监控业务数据是非常好用的。
添加到linux的crontab任务,然后图表展示观察
vim /etc/crontab
保存退出。
保存
保存退出。
流量单位说明(每秒的流量,无负数)
说明
influxdb+grafana的组合监控硬件并不是好选择,如果熟悉Zabbix的话,推荐Zabbix来监控硬件。
influxdb+grafana的组合用来监控业务数据是非常好用的。