zabbix企业级监控平台

目录

一、zabbix部署

二、添加agent

1. 手动添加

2. 自动发现

3. 自动注册

4. zabbix api

三、服务监控

1、nginx监控

2、mysql监控

3、tomcat监控

4、集成告警平台

四、分布式监控


一、zabbix部署

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

安装yum源:

cd /etc/yum.repos.d/
vim zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=0

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=0

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgcheck=0

安装server和agent

yum install zabbix-server-mysql zabbix-agent

安装前端

yum install -y centos-release-scl-2-3.el7.centos.noarch.rpm centos-release-scl-rh-2-3.el7.centos.noarch.rpm   #这两个软件包需要自己下载
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

安装mysql数据库

tar xf mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar
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
systemctl  enable --now mysqld
grep 'temporary password' /var/log/mysqld.log  #获取初始化密码

创建zabbix数据库

mysql -p
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'Yl20010801+';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;

导入数据,数据量比较大,需要等待一下,不要中断  导入后再禁用数据库参数

zcat /usr/share/doc/zabbix-server-mysql-5.0.38/create.sql.gz | mysql -uzabbix -pYl20010801+ zabbix

配置zabbix server

vim /etc/zabbix/zabbix_server.conf   #只需修改数据库密码

配置zabbix前端

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf  
#去掉此行的注释,并修改时区

启动服务

systemctl enable --now zabbix-server zabbix-agent httpd rh-php72-php-fpm

访问前端:

填写数据库连接信息

填写zabbix server 信息

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

修改前端语言

修改字体文件 (字体需要在WindowsC盘里边找)

cp simkai.ttf /usr/share/zabbix/assets/fonts
cd /usr/share/zabbix/assets/fonts
rm -f graphfont.ttf
ln -s simkai.ttf graphfont.ttf

二、添加agent

1. 手动添加

agent配置

从vm0拷贝repo文件

scp zabbix.repo vm1:/etc/yum.repos.d/
scp zabbix.repo vm2:/etc/yum.repos.d/

yum install -y zabbix-agent

vim /etc/zabbix/zabbix_agentd.conf

systemctl  enable --now zabbix-agent.service
netstat -antlp |grep :10050

server端配置

2. 自动发现

agent配置
与vm1相同拷贝 repo文件修改配置文件等

server端配置

3. 自动注册

先删除vm2主机

停用自动发现规则

创建自动注册动作

agent端重启服务

4. zabbix api

获取token

curl -s -X POST http://192.168.189.110/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
> {
>     "jsonrpc": "2.0",
>     "method": "user.login",
>     "params": {
>         "user": "Admin",
>         "password": "zabbix"
>     },
>     "id": 1,
>     "auth": null
> }' | python -m json.tool
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": "3d5bbc6d5c849058ed1ce68870072b29"
}

检索主机

curl -s -X POST http://192.168.189.110/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "hostid",
            "host"
        ],
        "selectInterfaces": [
            "interfaceid",
            "ip"
        ]
    },
    "id": 2,
    "auth": "3d5bbc6d5c849058ed1ce68870072b29"
}' | python -m json.tool

删除主机

curl -s -X POST http://192.168.189.110/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "10441"
    ],
    "id": 4,
    "auth": "3d5bbc6d5c849058ed1ce68870072b29"
}' | python -m json.tool

创建主机

curl -s -X POST http://192.168.189.110/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "vm2",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "192.168.189.112",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "tags": [
            {
                "tag": "Host name",
                "value": "vm2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ]
    },
    "id": 2,
    "auth": "3d5bbc6d5c849058ed1ce68870072b29"
}' | python -m json.tool

 

三、服务监控

1、nginx监控

安装nginx

tar zxf nginx-1.23.3.tar.gz
cd nginx-1.23.3/
yum install -y gcc make openssl-devel pcre-devel
./configure  --with-http_stub_status_module
make && make install
ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin/

location = /basic_status {
            stub_status;
        }
nginx
netstat -antlp|grep :80
curl  localhost/basic_status

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

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

2、mysql监控

推荐使用percona的数据库模板

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
cd /var/lib/zabbix/percona/templates
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
systemctl  restart zabbix-agent.service
cd /var/lib/zabbix/percona/scripts/
vim ss_get_mysql_stats.php

测试脚本

ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin/php
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
有数据显示就表示正常

删除tmp下的缓存文件

rm -f localhost-mysql_cacti_stats.txt

导入模板文件

关联模板

等待监控数据出来

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

3、tomcat监控

vm2上安装java应用
yum install -y java-1.8.0-openjdk.x86_64
tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-7.0.37/ tomcat
cd tomcat/bin/
vim catalina.sh

./startup.sh
netstat -antlp|grep :8888

安装zabbix-java-gateway (vm0)

yum install -y zabbix-java-gateway
systemctl  enable --now zabbix-java-gateway.service
netstat -antlp|grep :10052

修改server配置

vim /etc/zabbix/zabbix_server.conf
systemctl  restart zabbix-server.service

前端配置

添加jmx接口

关联模板

4、集成告警平台

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

创建appkey

部署探针

cd /usr/lib/zabbix/alertscripts
tar xf ca_zabbix_release-4.0.1.tar.gz
cd cloudalert/bin
./install.sh 80521b7c-eb16-46d8-a0fd-6a621f4938e4  #自己对应的编码告警平台查看
chown zabbix.zabbix cloudalert/ -R

配置通知策略

zibbix

停止agent服务

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

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

已解决

四、分布式监控

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

systemctl  disable --now zabbix-agent.service
hostnamectl set-hostname proxy
vim /etc/hosts #解析

安装proxy软件 在vm0上创建proxy数据库

yum install zabbix-proxy-mysql
mysql -p
create user 'zabbix'@'%' identified by 'Yl20018001+';
grant all privileges on zabbix_proxy.* to 'zabbix'@'%';

从proxy拷贝数据库文件

cd /usr/share/doc/zabbix-proxy-mysql-5.0.38/
scp schema.sql.gz server1:

导入proxy数据库

zcat schema.sql.gz | mysql -uzabbix -pYl20010801+ zabbix_proxy

修改proxy配置

vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.189.110				#指向zabbix_server
Hostname=proxy					#主机名

DBHost=192.168.189.119				#proxy数据库配置
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=Yl2001801+

JavaGateway=192.168.189.110		#jmx配置
JavaGatewayPort=10052
StartJavaPollers=5

systemctl  restart zabbix-proxy.service

创建proxy

为主机配置代理

再重启proxy服务

systemctl  restart zabbix-proxy.service

修改agent配置,指向proxy地址  (vm2)

vim /etc/zabbix/zabbix_agentd.conf

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值