【zabbix企业级监控平台】

Zabbix平台部署

安装 Zabbix 软件仓库

[root@server1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpm

[root@server1 ~]# dnf clean all

安装Zabbix server,Web前端,agent


[root@server1 ~]# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

安装MySQL8.0

下载仓库包

[root@server1 ~]# wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

安装仓库包

[root@server1 ~]# dnf install -y mysql80-community-release-el9-1.noarch.rpm

确认仓库已成功启用

[root@server1 ~]#  dnf repolist | grep mysql

导入MySQL最新官方密钥

[root@server1 ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

安装 MySQL 服务器及组件

[root@server1 ~]# dnf install -y mysql-community-server

创建初始数据库

[root@server1 ~]# mysql -pRoot@123456

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'Root@123456';

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

mysql> set global log_bin_trust_function_creators = 1;

导入初始架构和数据,系统将提示输入新创建的密码

[root@server1 ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
 

导入数据库模式后,禁用 log_bin_trust_function_creators 选项

mysql> set global log_bin_trust_function_creators = 0;

为Zabbix server配置数据库

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

启动Zabbix server和agent进程,并为它们设置开机自启

[root@server1 ~]#  systemctl restart zabbix-server zabbix-agent httpd php-fpm
[root@server1 ~]# systemctl enable zabbix-server zabbix-agent httpd php-fpm

打开 Zabbix UI 网页

使用 Apache Web 服务器时,Zabbix UI 的默认 URL 为 http://host/zabbix

登录前端管理界面

管理员用户和密码:Admin/zabbix

拷贝字体文件

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

cd /usr/share/zabbix/assets/fonts

重做软连接

rm -f graphfont.ttf

ln -s simkai.ttf graphfont.ttf

[root@server1 fonts]# systemctl restart zabbix-server zabbix-agent httpd php-fpm

这样就能正常显示

添加zabbix-agent

设置yum源

[root@server2 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpm

安装zabbix-agent

[root@server2 ~]# yum install -y zabbix-agent

修改配置文件

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

Server=192.168.247.142 #zabbix server的ip

ServerActive=192.168.247.142

Hostname=server2 #agent自己的主机名

启动服务

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

查看监听端口

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

添加主机

添加一台CentOS7系统的主机进行监测

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm

yum install -y zabbix-agent

vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.247.142 #zabbix server的ip

ServerActive=192.168.247.142

Hostname=lvs-master          #agent自己的主机名

启动服务

systemctl enable --now zabbix-agent

快速入门

监控cpu负载

测试消耗cpu

[root@server2 ~]# md5sum /dev/zero

监控根分区使用情况

监控根分区空闲百分比

cpu负载过高触发器

[root@server2 ~]# for i in `seq 1 2`; do md5sum /dev/zero & done

[root@server2 ~]# pkill -9 md5sum

根分区空闲空间低于90% 触发器

[root@server2 ~]# dd if=/dev/zero of=/bigfile bs=1G count=2

[root@server2 ~]# rm -f /bigfile

创建监控图形

配置报警媒介

用户配置收件邮箱

启用触发器动作

测试

[root@server2 ~]# for i in `seq 1 2`; do md5sum /dev/zero & done

添加用户组

添加用户

配置触发器动作

添加模板

复制监控项

自动发现

启动发现动作

配置发现规则

自动注册

配置agent 主机元数据

vim /etc/zabbix/zabbix_agentd.conf

HostMetadataItem=system.uname

重启服务

systemctl restart zabbix-agent.service

服务监控

nginx服务监控

在agent安装软件

[root@server2 ~]# yum install nginx

修改配置

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

启动服务

[root@server2 ~]# systemctl enable --now nginx

测试

[root@server2 ~]# curl localhost/basic_status

主机关联服务监控模板


 

MySQL监控服务

拷贝模板

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

重启服务
[root@server2 ~]# systemctl restart zabbix-agent

安装数据库

[root@server2 ~]# yum install -y mysql-server

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

配置数据库监控用户

mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'westos';

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

创建mysql客户端配置
[root@server2 ~]# mkdir /var/lib/zabbix
[root@server2 ~]# vim /var/lib/zabbix/.my.cnf

[client]

protocol=tcp

user='zbx_monitor'

password='westos'

主机关联服务监控模板

percona数据库监控模板

安装软件

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

[root@server2 ~]# dnf install -y php-cli php-mysqlnd

拷贝模板

[root@server2 ~]# cd /var/lib/zabbix/percona/templates
[root@server2 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

重启服务

[root@server2 templates]# systemctl  restart zabbix-agent

修改配置

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

[root@server2 scripts]# vim ss_get_mysql_stats.php

创建软链接

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

测试

su -s /bin/sh -c "/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg" zabbix

有返回值表示成功

导入模型

tomcat服务监控

安装jmx

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

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

查看端口

[root@server1 ~]# ss -antlp|grep :10052

配置zabbix server

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

JavaGateway=192.168.247.142 #jmx服务所在主机地址

JavaGatewayPort=10052

StartJavaPollers=5

重启服务

[root@server1 ~]# systemctl restart zabbix-server

agent上部署tomcat服务

[root@server2 ~]# yum install java-1.8.0-openjdk

[root@server2 ~]# tar -zxf apache-tomcat-9.0.120.tar.gz -C /usr/local/
[root@server2 ~]# cd /usr/local/

[root@server2 local]# ln -s apache-tomcat-9.0.120/ tomcat

[root@server2 local]# cd tomcat/

修改配置

[root@server2 tomcat]# vim bin/catalina.sh

tomcat9.0配置 需要添加换行符

CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888 \

-Dcom.sun.management.jmxremote.rmi.port=8889 \

-Dcom.sun.management.jmxremote.ssl=false \

-Dcom.sun.management.jmxremote.authenticate=false'

启动服务

[root@server2 tomcat]# /usr/local/tomcat/bin/startup.sh

添加jmx接口

关联模板

集成外部告警

安装探针

cd /usr/lib/zabbix/alertscripts/

[root@server1 alertscripts]# wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-4.0.3.tar.gz

[root@server1 alertscripts]# tar -zxf ca_zabbix_release-4.0.3.tar.gz

[root@server1 alertscripts]# cd cloudalert/bin

./install.sh 80521b7c-eb16-46d8-a0fd-6a621f4938e4 #需要替换为自己创建的appkey

zabbix api

获取token

[root@server1 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "zabbix"
    },
    "id": 1,
    "auth": null
}' http://192.168.247.142/zabbix/api_jsonrpc.php | python -m json.tool

获取以下token,后续api 调用都是使用此token

{
    "jsonrpc": "2.0",
    "result": "
aa9efecd6b3b39dd58f70ea681b0a9b8",
    "id": 1
}

获取主机列表

[root@server1 ~]# vim zabbix-api.sh

curl -s -X POST -H 'Content-Type:application/json' -d '
{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": [
                   "hostid",
                   "host"
               ],
               "selectInterfaces": [
                   "interfaceid",
                   "ip"
               ]
           },
           "id": 2,
           "auth": "
aa9efecd6b3b39dd58f70ea681b0a9b8"   #填写上面获取的token
}' http://192.168.247.142/zabbix/api_jsonrpc.php | python -m json.tool

[root@server1 ~]# chmod +x zabbix-api.sh

删除主机

[root@server1 ~]# vim zabbix-api.sh

curl -s -X POST -H 'Content-Type:application/json' -d '
{
           "jsonrpc": "2.0",
           "method": "host.delete",
           "params": [
                "10084"      #填写上面指令获取的主机ID
        ],
           "id": 1,
           "auth": "aa9efecd6b3b39dd58f70ea681b0a9b8"
}' http://192.168.247.142/zabbix/api_jsonrpc.php | python -m json.tool

添加主机

[root@server1 ~]# vim zabbix-api.sh

curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "Zabbix server",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "127.0.0.1",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "4"
            }
        ],
        "tags": [
            {
                "tag": "Host name",
                "value": "server1"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            },
            {
                "templateid": "10261"
            }
        ]
    },
    "id": 1,
    "auth": "aa9efecd6b3b39dd58f70ea681b0a9b8"
}' http://192.168.247.142/zabbix/api_jsonrpc.php | python -m json.tool


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值