监控项是从主机收集的数据信息。
一个监控项是一个独立的指标。快速添加多个监控项的一种方法是将一个预定义的模板附加到主机。
为了优化系统性能,您可能需要对模板进行微调,使只有真正需要的监控项被频繁的监控到。
在单个监控项中,你可以指定从主机收集哪些数据。监控项原型(item prototype):有特定变量的指标,用于自动发现。
低级别自动发现执行之后,该变量将被实际自动发现的参数替换,该指标也自动开始采集数据。
###1.监控系统自带模板httpd###
###1.安装httpd,并开启###
[root@server2 ~]# yum install -y httpd
[root@server2 ~]# systemctl start httpd
[root@server2 ~]# ps ax
###2.在web端配置监控项###
(配置----->主机------>点击server2)
(点击模板,点击链接指示器后的选择)
(勾选Template App HTTP Service,点击选择)
(点击添加)
(点击更新)
(server2比server3的应用集/监控项/触发器均多一项,点击server2)
###3.查看监控项###
(选择监控项,在应用集后输入HTTP servicr,点击应用)
(点击HTTP service is running)
(查看模板)
(主机server2,点击图形8 ,列出所有系统自带监控项图形,也可以自己再新建)
(例如,CPU load图形,实时监控刷新)
######2.监控创建模板nginx######
###1.源码编译nginx,并启动###
(将172行禁用)
[root@server3 nginx-1.16.0]# yum install -y gcc pcre-devel zlib-devel
[root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server3 nginx-1.16.0]# make && make install
[root@server3 nginx-1.16.0]# vim /usr/local/nginx/conf/nginx.conf
48 location /status {
49 stub_status on;
50 access_log off;
51 allow 127.0.0.1;
52 deny all;
53 }
[root@server3 nginx-1.16.0]# cd
[root@server3 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
(多次访问,方便后面查看监控)
###2.创建一个服务的单条监控###
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@server1 ~]# yum install -y zabbix-get
(点击server3主机,点击右上角创建监控项)
(填写名称、键值,点击最下方添加)
(主机server3点击图形 8)
(点击右上角创建图形)
(填写名称,点击监控项内的添加)
(勾选nginx_active,点击选择)
(点击最下方的添加)
(选择nginx_active)
(选择预览)
###3.创建一个服务的多条监控###
[root@server3 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status/ | grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{p rint $1}'
UserParameter=nginx.request,curl -s http://127.0.0.1/status | awk NR==3 | awk '{ print $3}'
[root@server3 ~]# systemctl restart zabbix-agent
(创建2个监控项,监控项由原来的47项变为49项)
(点击图形)
(分别勾选新建的2个监控项)
(为了区分,每条监控项的颜色都不相同)
(点击预览查看)
######3.系统模板+创建模板:mysql#######
###1.添加系统mysql模板###
(配置----->主机----->点击Zabbix server)
(点击模板----->链接指示器:选择)
(选择群组:Templates/Databases------>勾选Template DB MySQL)
(点击添加)
(点击更新)
(应用集由11项变为12项,监控项由88项变为102,触发器由50项变为51项,图形由14项变为16项)
###2.查看服务###
[root@server1 zabbix_agentd.d]# mkdir /var/lib/zabbix
[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/
[root@server1 zabbix]# vim .my.cnf ##添加规则
[mysql]
user=zabbix
password=redhat
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
user=zabbix
password=redhat
socket=/var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent
(点击主机Zabbix server----->图形------>点击MySQL operations)
(点击预览)
###3.添加percona服务###
###1.获取并安装软件包###
###2.编辑配置文件###
1.将配置文件发送到agent的目录下
[root@server1 ~]# cd /var/lib/zabbix/percona/templates
[root@server1 templates]# ls
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
2.修改php脚本内容
[root@server1 templates]# cd /var/lib/zabbix/percona/scripts
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';
3.执行脚本,会获得返回值(此处为0)
[root@server1 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
0
###3.查看生成的文件###
[root@server1 tmp]# ll localhost-mysql_cacti_stats.txt
-rw-r--r-- 1 root root 1399 Aug 10 06:29 localhost-mysql_cacti_stats.txt
[root@server1 tmp]# rm -rf localhost-mysql_cacti_stats.txt
##要删除这个文件是因为zabbix是以zabbix的用户身份运行的,
而这个文件是以root身份执行脚本产生的,有冲突
###4.监控percona###
###1.添加模板###
(点击配置----->模板----->导入)
(点击导入文件后的Browse...)
(选择要导入的文件,点击Open)
(勾选聚合图形2项,点击最下方导入)
(名称处填写关键字:Mysql ,就可以看到刚添加的模板)
###2.修改监控项###
(点击配置---->主机----->Zabbix server)
(点击模板----->点击Template DB MySQL后的取消链接----->点击链接指示器后的选择)
(勾选Template Percona MyQSL Server----->点击选择)
(点击添加----->点击更新)
(Zabbix server 监控项、触发器、图形都有添加)
(点击Percona模板,点击图形,选择要查看的监控项,就可以看到监控图形)
######4.监控java应用(jmx):tomcat######
###1.安装tomcat###
###1.安装jdk###
###2.安装tomcat,并运行###
tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/ ##解压安装包到指定位置
ln -s apache-tomcat-8.5.24/ tomcat ##创建软链接
[root@server2 ]# vim /usr/local/tomcat/bin/catalina.sh ##编辑配置文件
CATALINA_OPTS='-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'
[root@server2 bin]# ./startup.sh ##执行脚本
(插入110至113行,详情见官网tomcat.apache.org)
###2.安装java抓取接口软件###
监控java,java应用是进程,需要专门的接口去抓取(java应用请了解jmx配置)
[root@server1 ~]# yum install -y zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm
[root@server1 ~]# systemctl start zabbix-java-gateway
[root@server1 ~]# systemctl enable zabbix-java-gateway
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-
java-gateway.service to /usr/lib/systemd/system/zabbix-java-gateway.service.
[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# vim zabbix_java_gateway.conf ##查看配置文件
# Default:
# LISTEN_PORT=10052
[root@server1 zabbix]# vim zabbix_server.conf ##编辑监控软件
288 JavaGateway=172.25.1.1
296 JavaGatewayPort=10052
304 StartJavaPollers=5
[root@server1 zabbix]# systemctl restart zabbix-server
(编辑第288行和304行,解开296行注释)
###3.添加监控项###
(选择server2)
(添加JMX接口)
(添加模板)
(更新)
(server2的监控项,JMX的灯亮器)
更多监控项学习内容请见官网:https://www.zabbix.com/documentation/4.0/zh/manual/config/items