安装配置、图形操作、三种监控添加方式、zappix监控nginx、percona-zabbix部署mysql监控、监控java应用
一、zabbix初步配置启动
1.安装
##添加 Zabbix 软件仓库
[root@server1 yum.repos.d]# vim westos.repo
[root@server1 yum.repos.d]# cat westos.repo
[wan]
name="wan"
baseurl=http://172.25.15.250/rhel7
gpgcheck=0
[zabbix]
name=Zabbix
baseurl=ftp://172.25.15.250/pub/docs/zabbix/4.0
gpgcheck=0
[root@server1 yum.repos.d]# yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
repo id repo name status
wan "wan" 5,152
zabbix Zabbix 22
repolist: 5,174
[root@server1 yum.repos.d]# cd
## 安装 Server/proxy/前端
[root@server1 ~]# yum list zabbix-* #列出zabbix相关软件包
[root@server1 ~]# yum install -y zabbix-agent.x86_64 zabbix-server-mysql.x86_64
[root@server1 yum.repos.d]# yum install -y mariadb-server #安装数据库
## 创建数据库
[root@server1 ~]# systemctl start mariadb #启动
[root@server1 ~]# mysql_secure_installation
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified by 'westos'; #创建用户,本地登陆,密码为westos
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost'; #
## 导入数据
[root@server1 ~]# cd /usr/share/doc/zabbix-server-mysql-4.0.5/
[root@server1 zabbix-server-mysql-4.0.5]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@server1 zabbix-server-mysql-4.0.5]# zcat create.sql.gz | wc -l
13519
[root@server1 zabbix-server-mysql-4.0.5]# zcat create.sql.gz | mysql -uzabbix -pwestos zabbix
[root@server1 zabbix-server-mysql-4.0.5]# mysql -pwestos
MariaDB [(none)]> use zabbix #进入zabbix用户
MariaDB [zabbix]> show tables; #查看
进入数据库
导入zabbix相关的mysql文件
查看导入文件
2.修改zabbix的配置文件
[root@server1 zabbix-server-mysql-4.0.5]# cd /etc/zabbix/
[root@server1 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf
[root@server1 zabbix]# vim zabbix_server.conf
[root@server1 zabbix]# systemctl enable --now zabbix-server.service #启动并开机自启
[root@server1 zabbix]# systemctl enable --now mariadb.service #启动并开机自启
[root@server1 zabbix]# netstat -antlp #查看端口
[root@server1 zabbix]# systemctl enable --now zabbix-agent.service #启动并开机自启
vim zabbix_server.conf
2.安装zabbix网页图形,并配置
[root@server1 zabbix]# yum install -y zabbix-web-mysql.noarch
[root@server1 ~]# cd /etc/httpd/conf.d/
[root@server1 conf.d]# ls
autoindex.conf php.conf README userdir.conf welcome.conf zabbix.conf
[root@server1 conf.d]# vim zabbix.conf #修改图形配置
php_value date.timezone Asia/Shanghai
[root@server1 conf.d]# systemctl start httpd
[root@server1 conf.d]#
vim zabbix.conf
3.网页浏览访问图形
(1)浏览器访问172.25.15.1/zabbix
(2)输入密码进入
(3)设置登陆是本地还是网络,并设置服务名称
(4)管理登陆用户名:Admin 密码:zabbix
(5)进入监控界面
二、三种监控server的添加方式
1.第一种:手动添加
server2
[root@server2 zabbix]# yum install -y zabbix-agent.x86_64
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@server2 zabbix]# vim zabbix_agentd.conf
[root@server2 zabbix]# systemctl start zabbix-agent.service
[root@server2 zabbix]#
图形创建主机
加入监控模板
成功加入,启用成功
[root@server2 zabbix]# systemctl enable --now zabbix-agent.service
[root@server2 zabbix]# netstat -antlp
2.第二种:自动发现
配置好server3
[root@server2 ~]# ssh server3 yum install -y zabbix-agent.x86_64 #远程给server3安装
[root@server3 ~]# cd /etc/zabbix/
[root@server3 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@server3 zabbix]# vim zabbix_agentd.conf
Server=172.25.15.1
ServerActive=172.25.15.1
Hostname=server3
图形设置自动发现
设置自动规则
动作改为自动发现
启用更新
3.第三种:自动注册
自动注册创建动作
操作设置
添加
重启server3zabbix服务,自动注册成功
[root@server3 zabbix]# systemctl restart zabbix-agent.service
三、zappix监控nginx
1.在server2上搭建nginx环境
[root@server2 ~]# ls
nginx-1.20.1.tar.gz simkai.ttf
[root@server2 ~]# tar -zxf nginx-1.20.1.tar.gz
[root@server2 ~]# ls
nginx-1.20.1 nginx-1.20.1.tar.gz simkai.ttf
[root@server2 ~]# cd nginx-1.20.1/
[root@server2 nginx-1.20.1]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
[root@server2 nginx-1.20.1]# yum install -y gcc pcre-devel openssl-devel
[root@server2 nginx-1.20.1]# ./configure --with-http_stub_status_module --with-http_ssl_module
[root@server2 nginx-1.20.1]# make && make install
[root@server2 nginx-1.20.1]# cd /usr/local/nginx/
[root@server2 nginx]# ls
conf html logs sbin
[root@server2 nginx]# cd sbin
[root@server2 sbin]# pwd
/usr/local/nginx/sbin
[root@server2 sbin]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
[root@server2 sbin]# cd ../conf
[root@server2 conf]# ls
[root@server2 conf]# vim nginx.conf
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
[root@server2 conf]# nginx -t ##检测语法
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server2 conf]# nginx ##开启
[root@server2 conf]# curl localhost/status
2.修改字体
[root@server1 ~]# ls
simkai.ttf
[root@server1 ~]# mv simkai.ttf /usr/share/zabbix/fonts/
[root@server1 ~]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ls
graphfont.ttf simkai.ttf
[root@server1 fonts]# rm -f graphfont.ttf
[root@server1 fonts]# ln -s simkai.ttf graphfont.ttf
[root@server1 fonts]# ll
total 4040
lrwxrwxrwx 1 root root 10 Jul 13 22:10 graphfont.ttf -> simkai.ttf
-rw-r--r-- 1 root root 4135804 Jul 9 22:45 simkai.ttf
[root@server1 fonts]#
3.布置前端
[root@server2 zabbix_agentd.d]# grep -v ^# /etc/zabbix/zabbix_agentd.conf | uniq
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf #配置监控命令
UserParameter=nginx.active,curl -s http://localhost/status |grep Active | awk '{print $3}'
[root@server2 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@server1 ~]# yum install -y zabbix-get
4.浏览器访问http://172.25.15.1/zabbix
(1)创建server2监控项
(2)创建图形
添加创建好的监控项nginx_active
(3)监控图像查看
5.添加多条监控
(1)配置多条
[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf
[root@server2 zabbix_agentd.d]# cat userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://localhost/status |grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://localhost/status | awk 'NR==3{print $1}'
UserParameter=nginx.handled,curl -s http://localhost/status | awk 'NR==3{print $2}'
UserParameter=nginx.request,curl -s http://localhost/status | awk 'NR==3{print $3}'
[root@server2 zabbix_agentd.d]# systemctl restart zabbix-agent.service
[root@server2 zabbix_agentd.d]#
(2)server1查看
[root@server1 fonts]# zabbix_get -s 172.25.15.2 -p 10050 -k "nginx.active"
1
[root@server1 fonts]# zabbix_get -s 172.25.15.2 -p 10050 -k "nginx.accept"
1049
[root@server1 fonts]# zabbix_get -s 172.25.15.2 -p 10050 -k "nginx.handled"
1050
[root@server1 fonts]# zabbix_get -s 172.25.15.2 -p 10050 -k "nginx.request"
1047
[root@server1 fonts]#
(3)图形添加
监控项的添加
更新查看
四、监控数据库mysql
1.server1配置
[root@server1 zabbix_agentd.d]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server1 zabbix_agentd.d]# vim userparameter_mysql.conf
[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]
host = localhost
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent.service
[root@server1 zabbix]# zabbix_get -s 127.0.0.1 -p 10050 -k 'mysql.ping'
1
2.图形添加
(1)模板加入
(2)查看
2.percona-zabbix部署多条mysql监控
(1)安装
[root@server1 ~]# ls
percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
warning: percona-zabbix-templates-1.1.8-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:percona-zabbix-templates-1.1.8-1 ################################# [100%]
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
[root@server1 ~]# ls
percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 ~]# cd /var/lib/zabbix/percona/
[root@server1 percona]# ls
scripts templates
[root@server1 percona]# cd 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/
[root@server1 templates]# cd ../scripts/
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server1 scripts]# vim get_mysql_stats_wrapper.sh
[root@server1 scripts]# vim ss_get_mysql_stats.php
[root@server1 scripts]# yum install -y php-mysql
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Package php-mysql-5.4.16-46.el7.x86_64 already installed and latest version
Nothing to do
[root@server1 scripts]# systemctl restart zabbix-agent.service
[root@server1 scripts]# cd /tmp/
[root@server1 tmp]# ls
配置完成
vim ss_get_mysql_stats.php
(2)进入图形
导入percona 相关的mysql监控模板
添加模板
(3)主机作查询
[root@server1 tmp]# zabbix_get -s 127.0.0.1 -p 10050 -k 'MySQL.Key-read-requests'
4
[root@server1 tmp]# cd /tmp/
[root@server1 tmp]# ls
localhost-mysql_cacti_stats.txt
systemd-private-5f02fe4a7490431b904e6b56ba51686c-chronyd.service-ndqPvz
systemd-private-5f02fe4a7490431b904e6b56ba51686c-httpd.service-2qarvT
systemd-private-5f02fe4a7490431b904e6b56ba51686c-mariadb.service-6ZeeaP
systemd-private-5f605699b4e8467481c7b3d870ae813b-chronyd.service-5EHNZJ
systemd-private-5f605699b4e8467481c7b3d870ae813b-httpd.service-r1sVZr
systemd-private-5f605699b4e8467481c7b3d870ae813b-mariadb.service-KHpQko
[root@server1 tmp]# ll localhost-mysql_cacti_stats.txt
-rw-rw-r-- 1 zabbix zabbix 1391 Jul 14 00:43 localhost-mysql_cacti_stats.txt
[root@server1 tmp]#
(3 )图形查看
五、监控java应用
1.安装配置zabbix-java-gateway
[root@server1 tmp]# yum list zabbix-*
[root@server1 tmp]# yum install -y zabbix-java-gateway.x86_64
[root@server1 tmp]# cd /etc/zabbix/
[root@server1 zabbix]# ls
web zabbix_agentd.d zabbix_java_gateway_logback.xml
zabbix_agentd.conf zabbix_java_gateway.conf zabbix_server.conf
[root@server1 zabbix]# systemctl enable --now zabbix-java-gateway.service
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 zabbix]# netstat -antlp |grep :10052
tcp6 0 0 :::10052 :::* LISTEN 17769/java
[root@server1 zabbix]# ls
web zabbix_agentd.d zabbix_java_gateway_logback.xml
zabbix_agentd.conf zabbix_java_gateway.conf zabbix_server.conf
[root@server1 zabbix]# vim zabbix_server.conf
[root@server1 zabbix]# systemctl restart zabbix-server.service
[root@server1 zabbix]#
2.server3配置
安装apache-tomcat-7.0.90
[root@server3 ~]# ls
apache-tomcat-7.0.90.tar.gz
[root@server3 ~]# tar -zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
[root@server3 ~]# cd /usr/local
[root@server3 local]# ls
apache-tomcat-7.0.90 bin etc games include lib lib64 libexec sbin share src
[root@server3 local]# ln -s apache-tomcat-7.0.90/ /usr/local/tomcat
[root@server3 local]# cd tomcat/
[root@server3 tomcat]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@server3 tomcat]# pwd
/usr/local/tomcat
[root@server3 tomcat]# cd bin
[root@server3 bin]# ls
bootstrap.jar configtest.bat setclasspath.sh tomcat-native.tar.gz
catalina.bat configtest.sh shutdown.bat tool-wrapper.bat
catalina.sh daemon.sh shutdown.sh tool-wrapper.sh
catalina-tasks.xml digest.bat startup.bat version.bat
commons-daemon.jar digest.sh startup.sh version.sh
commons-daemon-native.tar.gz setclasspath.bat tomcat-juli.jar
[root@server3 bin]# vim catalina.sh #添加
CATALINA_OPTS= '-Dcom.sun.management.jmxremote
-Dcom.sun.managenent.jmxrempte.port=8888
-Dcom.sun.managenent.jmxremotef.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'
[root@server3 bin]# yum install -y java #使用默认jdk,安装java
[root@server3 bin]# cd /usr/local/tomcat/
[root@server3 tomcat]# bin/startup.sh #启动
/usr/local/tomcat/bin/catalina.sh: line 107: $'-Dcom.sun.management.jmxremote\n -Dcom.sun.managenent.jmxrempte.port=8888\n -Dcom.sun.managenent.jmxremotef.ssl=false\n -Dcom.sun.management.jmxremote.authenticate=false': command not found
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@server3 tomcat]# bin/shutdown.sh #关闭重启
[root@server3 tomcat]# bin/startup.sh #
[root@server3 tomcat]# netstat -antlp | grep :8888 #查看端口
tcp6 0 0 :::8888 :::* LISTEN 7720/java
[root@server3 tomcat]#
启动服务
3.图形配置
(1)给server3主机添加JMX端口
(2)添加模板
(3)更新主机