Linux(企业级)——Zabbix监控
1. Zabbix安装
yum install zabbix-server-mysql
yum install zabbix-proxy-mysql
yum install zabbix-web-mysql
yum install zabbix-agent
2. Zabbix服务端配置
安装mariadb,并初始化,配置Zabbix数据库信息
shell> mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified by '<password>';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> quit;
导入数据,编辑server端配置文件:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
安装web控制端,配置时区:
/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
开启服务,即可访问监控页面,默认登陆账号Admin密码zabbix:
3. 客户端配置与添加主机
- 客户端配置
安装zabbix-agent,编辑配置文件并重新启动;
vim /etc/zabbix/zabbix_agentd.conf
# 客户端主机名,与添加主机时对应
Hostname=server2
# 修改为数据库监控server端地址
ServerActive=172.25.52.1
Server=172.25.52.1
-
手动添加
主机-创建主机-填写主机名IP-添加模板Templete OS Linux-添加
-
自动发现
动作-启用自动发现 自动发现-添加自动发现规则-启用
-
自动注册
动作-自动注册-添加触发规则 操作-添加主机群组-链接到模板: Template OS Linux-更新
- 新建监控项
在客户端安装nignix
在客户端创建编辑监控项文件,完成后重启agent服务
vim /etc/zabbix/zabbix_agentd.d/nigix_active.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.handle,curl -s http://localhost/status |awk 'NR==3{print $2}';
UserParameter=nginx.request,curl -s http://localhost/status |awk 'NR==3{print $3}'
在服务端进行测试:
yum install -y zabbix_get
zabbix_get -s 172.25.52.3 -p 10050 -k "nginx.active"
zabbix_get -s 172.25.52.3 -p 10050 -k "nginx.accept"
zabbix_get -s 172.25.52.3 -p 10050 -k "nginx.handle"
zabbix_get -s 172.25.52.3 -p 10050 -k "nginx.request"
进入网页监控后台:
配置 - 主机 - 选择主机监控项 -创建监控项 - 填写名称与键值( 键值须与客户端配置文件中的UserParameter项保持一致)
- 导入监控percona数据库模板
下载安装监控模板rpm包
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
安装php支持,创建zabbix对应数据库配置文件:
yum install -y php-mysql
vim /var/lib/zabbix/.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
编辑php的数据库配置:
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
将templates/下的zabbix键值文件复制至zabbix目录,重启zabbix-server。
# 注意:/tmp/ocalhost-mysql_cacti_stats.txt为zabbix缓存文件,需保持所有者为zabbix用户
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf
systemctl restart zabbix-agent.service
打开监控页面 :
配置 - 模板 - 导入模板 -选择templates/下的xml,勾选screens,导入成功。
- 添加JMX接口监控
在server端安装java gateway
yum install -y zabbix-java-gateway.x86_64
配置开启java监控端口等
JavaGateway=172.25.25.1
JavaGatewayPort=10052
StartJavaPollers=5
在agent端,安装tomcat与java,编辑配置文件并添加内容:
yum install -y java
tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-7.0.90/ tomcat
vim 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'
开启tomcat,检测端口是否开启,重启agent服务:
bin/startup.sh #关闭脚本为shutdown.sh
netstat -anltp|grep 8888
systemctl restart zabbix-agent.service
在web监控端:
选中对应主机 - 添加JMX接口,输入agent IP与8888端口 - 模板 -添加Template App Generic Java JMX - 更新:
3. Zabbix Proxy 配置
实验架构: server1:172.25.52.1 - > proxy (server2):172.25.52.2 -> agent : 172.25.52.3
在server网页端,开启agent代理:
管理 - agent代理程序 - 添加代理 - 输入Proxy主机名与IP
选中需要代理的agent主机,设置由agent代理程序监测
在server端创建zabbix_proxy数据库:
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@'%' identified by 'westos';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges ;
#导入数据库
zcat /mnt/schema.sql.gz | mysql -pwestos zabbix_proxy
在proxy端安装配置zabbix,指定Server上的zabbix_proxy数据库,并且开启JavaGateway
yum install -y zabbix-proxy-mysql.x86_64
vim /etc/zabbix/zabbix_proxy.conf
Server=172.25.52.1
ServerPort=10051
Hostname=proxy
DBHost=172.25.52.1
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=westos
JavaGateway=172.25.52.1
JavaGatewayPort=10052
StartJavaPollers=5
在agent端指定server为proxy:
Server=172.25.52.2
ServerActive=172.25.52.2
分别重启zabbix-server proxy agent,在服务端强制刷新zabbix缓存:
zabbix_server -R config_cache_reload![在这里插入图片描述](https://img-blog.csdnimg.cn/20210714174007416.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTY5OTg3Nw==,size_16,color_FFFFFF,t_70)