zabbix企业级监控平台

zabbix部署

官网:Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution

安装源

[root@server1 zabbix]# cd /etc/yum.repos.d/

[root@server1 yum.repos.d]# vim zabbix.repo

安装server和agent

[root@server1 yum.repos.d]# yum install zabbix-server-mysql zabbix-agent

安装前端

[root@server1 ~]# yum install -y centos-release-scl-2-3.el7.centos.noarch.rpm centos-release-scl-rh-2-3.el7.centos.noarch.rpm

[root@server1 ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

安装mysql数据库

[root@server1 ~]# tar xf mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar

[root@server1 ~]# yum install -y mysql-community-client-5.7.33-1.el7.x86_64.rpm mysql-community-common-5.7.33-1.el7.x86_64.rpm mysql-community-libs-5.7.33-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.33-1.el7.x86_64.rpm mysql-community-server-5.7.33-1.el7.x86_64.rpm

[root@server1 ~]# systemctl  enable --now mysqld

获取初始化密码

[root@server1 ~]# grep 'temporary password' /var/log/mysqld.log

[root@server1 ~]# mysql_secure_installation

创建zabbix数据库

[root@server1 ~]# mysql -p

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> create user zabbix@localhost identified by 'Westos+1';

mysql> grant all privileges on zabbix.* to zabbix@localhost;

mysql> set global log_bin_trust_function_creators = 1;

导入数据,数据量比较大,需要等待一下,不要中断

[root@server1 ~]# zcat /usr/share/doc/zabbix-server-mysql-5.0.31/create.sql.gz | mysql -uzabbix -pYakexi+007 zabbix

导入后再禁用数据库参数

[root@server1 ~]# mysql -p

mysql> set global log_bin_trust_function_creators = 0;

配置zabbix server

[root@server1 ~]# vim /etc/zabbix/zabbix_server.conf

#只需修改数据库密码

DBPassword=Westos+1

配置zabbix前端

[root@server1 zabbix]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

#去掉此行的注释,并修改时区

php_value[date.timezone] = Asia/Shanghai

启动服务

[root@server1 zabbix]# systemctl enable --now zabbix-server zabbix-agent httpd rh-php72-php-fpm

访问前端:192.168.52.128/zabbix

填写数据库连接信息

填写zabbix server 信息

登录前端的用户密码是:Admin/zabbix

修改前端语言

修改字体文件

cp simkai.ttf /usr/share/zabbix/assets/fonts

cd /usr/share/zabbix/assets/fonts

[root@server1 fonts]# rm -f graphfont.ttf

[root@server1 fonts]# ln -s simkai.ttf graphfont.ttf

添加agent

手动添加

agent配置

从server1拷贝repo文件

[root@server1 yum.repos.d]# scp zabbix.repo server2:/etc/yum.repos.d/

[root@server2 yum.repos.d]# yum install -y zabbix-agent

[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf

...

Server=192.168.52.128

ServerActive=192.168.52.128

Hostname=server2

[root@server2 zabbix]# systemctl  enable --now zabbix-agent.service

[root@server2 ~]# netstat -antlp |grep :10050

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      8336/zabbix_agentd

server端配置

可用性变成绿色表示添加成功

自动发现

agent配置

从server1拷贝repo文件

[root@server1 yum.repos.d]# scp zabbix.repo server3:/etc/yum.repos.d/

[root@server3 yum.repos.d]# yum install -y zabbix-agent

[root@server3 ~]# vim /etc/zabbix/zabbix_agentd.conf

...

Server=192.168.52.128

ServerActive=192.168.52.128

Hostname=server3

[root@server3 zabbix]# systemctl  enable --now zabbix-agent.service

server端配置

选择发现动作,并激活 

选择自动发现,修改实际的网络地址段,并激活

自动注册

先删除server3主机

停用自动发现规则

创建自动注册动作

agent端重启服务

[root@server3 ~]# systemctl  restart zabbix-agent.service

服务监控

nginx监控

安装nginx

[root@server2 ~]# tar zxf nginx-1.23.3.tar.gz

[root@server2 ~]# cd nginx-1.23.3/

[root@server2 nginx-1.23.3]# yum install -y gcc make openssl-devel pcre-devel

[root@server2 nginx-1.23.3]# ./configure  --with-http_stub_status_module --with-http_ssl_module

[root@server2 nginx-1.23.3]# make && make install

[root@server2 nginx]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin/

[root@server2 ~]# vim /usr/local/nginx/conf/nginx.conf

        location = /basic_status {
            stub_status;
        }

[root@server2 conf]# nginx

[root@server2 conf]# netstat -antlp|grep :80

[root@server2 conf]# curl  localhost/basic_status

在server端为主机关联nginx服务监控模板

稍作等待,监控数据就会出来

mysql监控

zabbix自带mysql模板

拷贝模板

[root@server1 ~]# cp /usr/share/doc/zabbix-agent-5.0.31/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/

重启agent

[root@server1 zabbix_agentd.d]# systemctl  restart zabbix-agent.service

创建数据库连接用户

[root@server1 zabbix_agentd.d]# mysql -p

mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'Westos+1';

mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

mysql> flush privileges;

创建数据库连接文件

[root@server1 ~]# mkdir /var/lib/zabbix/

[root@server1 ~]# vim /var/lib/zabbix/.my.cnf

[client]

user=zbx_monitor

password=Westos+1

为zabbix server链接mysql监控模板

percona数据库模板

zabbix自带的mysql模板比较简单,所以推荐使用percona的数据库模板

[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm

[root@server1 scripts]# cd /var/lib/zabbix/percona/templates

[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

[root@server1 templates]# systemctl  restart zabbix-agent.service

[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/percona/scripts/

[root@server1 scripts]# vim ss_get_mysql_stats.php

...

$mysql_user = 'root';

$mysql_pass = 'Westos+1';

测试脚本

[root@server1 scripts]# ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin/php

[root@server1 scripts]#  /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

20

有数据显示就表示正常

删除tmp下的缓存文件

[root@server1 tmp]# rm -f localhost-mysql_cacti_stats.txt

导入模板文件

关联模板

等待监控数据出来

只要/tmp生成缓存文件就表示成功

[root@server1 tmp]# ls localhost-mysql_cacti_stats.txt

localhost-mysql_cacti_stats.txt

tomcat监控

server3上安装java应用

[root@server3 ~]# yum install -y java-1.8.0-openjdk.x86_64

[root@server3 ~]# tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/

[root@server3 ~]# cd /usr/local/

[root@server3 local]# ln -s apache-tomcat-7.0.37/ tomcat

[root@server3 local]# cd tomcat/

[root@server3 tomcat]# cd bin/

[root@server3 bin]# vim catalina.sh

CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.authenticate=false'

[root@server3 bin]# ./startup.sh

[root@server3 bin]# netstat -antlp|grep :8888

安装zabbix-java-gateway

[root@server1 ~]# yum install -y zabbix-java-gateway

[root@server1 zabbix]# systemctl  enable --now zabbix-java-gateway.service

[root@server1 zabbix]# netstat -antlp|grep :10052

tcp6       0      0 :::10052                :::*                    LISTEN      15393/java

修改server配置

[root@server1 zabbix]# vim /etc/zabbix/zabbix_server.conf

JavaGateway=192.168.52.128

JavaGatewayPort=10052

StartJavaPollers=5

[root@server1 zabbix]# systemctl  restart zabbix-server.service

前端配置

添加jmx接口

关联模板

集成告警平台

注册用户:https://caweb.aiops.com/

创建appkey

部署探针

[root@server1 ~]# cd /usr/lib/zabbix/alertscripts

[root@server1 alertscripts]# tar xf ca_zabbix_release-4.0.1.tar.gz

[root@server1 alertscripts]# cd cloudalert/bin

[root@server1 bin]# ./install.sh 6956a049cd4a4fdfbf24fc8407e872f0

请输入Zabbix管理地址:http://192.168.52.128/zabbix

请输入Zabbix管理员账号:Admin

请输入Zabbix管理员密码:  

[root@server1 alertscripts]# chown zabbix.zabbix cloudalert/ -R

配置通知策略

停止agent服务

[root@server2 ~]# systemctl  stop zabbix-agent.service

等待片刻后会触发报警,并发送到外部告警平台

可以在告警平台查看到完整到处理流程

分布式监控

agent 主动方式

新建proxy节点,删除server2 agent作为proxy节点

[root@server2 ~]# systemctl  disable --now zabbix-agent.service

[root@server2 ~]# hostnamectl set-hostname proxy

[root@proxy ~]# vim /etc/hosts

安装proxy软件

[root@proxy ~]#  yum install zabbix-proxy-mysql

在server1上创建proxy数据库

[root@server1 ~]# mysql -p

mysql> create database zabbix_proxy character set utf8 collate utf8_bin;

mysql> create user 'zabbix'@'%' identified by 'Westos+1';

mysql> grant all privileges on zabbix_proxy.* to 'zabbix'@'%';

从proxy拷贝数据库文件

[root@proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-5.0.31/

[root@proxy zabbix-proxy-mysql-5.0.31]# scp schema.sql.gz server1:

导入proxy数据库

[root@server1 ~]# zcat schema.sql.gz | mysql -uzabbix -pWestos+1 zabbix_proxy

修改proxy配置

[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf 

Server=192.168.52.128 #指向zabbix_server

Hostname=proxy #主机名

DBHost=192.168.52.128 #proxy数据库配置

DBName=zabbix_proxy

DBUser=zabbix

DBPassword=Westos+1

JavaGateway=192.168.52.128 #jmx配置

JavaGatewayPort=10052

StartJavaPollers=5

[root@proxy ~]# systemctl  restart zabbix-proxy.service

创建proxy

为主机配置代理

再重启proxy服务

[root@proxy ~]# systemctl  restart zabbix-proxy.service

修改agent配置,指向proxy地址

[root@server3 ~]# vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.52.130

ServerActive=192.168.52.130

[root@server3 ~]# systemctl  restart zabbix-agent.service

查看日志,没有报错就表示成功

[root@server3 ~]# cat /var/log/zabbix/zabbix_agentd.log

如果agent日志中出现类似的报错,说明proxy还没有完全同步server端数据,需要再次重启proxy服务

最终配置完毕后,逐渐监控状态也是可用的 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值