Zabbix 监控项+模板配置:httpdnginxmysql + perconatomcat

it2025-05-16  35

监控项是从主机收集的数据信息。 一个监控项是一个独立的指标。快速添加多个监控项的一种方法是将一个预定义的模板附加到主机。 为了优化系统性能,您可能需要对模板进行微调,使只有真正需要的监控项被频繁的监控到。 在单个监控项中,你可以指定从主机收集哪些数据。

监控项原型(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

 

最新回复(0)