zabbix6.0+timescaledb+企微/钉钉告警

zabbix-api https://blog.youkuaiyun.com/weixin_36485376/article/details/89603642

zabbix6.0安装组件

  • docker (略)
  • timescaledb 时序数据库
  • zabbix_server
  • zabbix-web-nginx

一、postgres(TimescaleDB)

mkdir /data/zabbix/timescaledb -p && cd /data/zabbix/timescaledb

cat > start.sh << 'EOF'
#!/bin/bash
docker rm -f timescaledb
cd `dirname $0`

docker run -d \
--name timescaledb  \
--restart always \
-p 5432:5432 \
-v /etc/localtime:/etc/localtime:ro \
-v `pwd`/data:/var/lib/postgresql/data:rw \
-e POSTGRES_USER=zabbix \
-e POSTGRES_PASSWORD=Timescaledb@2022 \
-e POSTGRES_DB=zabbix \
-e ENABLE_TIMESCALEDB=true \
timescale/timescaledb:2.7.0-pg14
EOF

bash start.sh

timescaledb 内存和CPU优化

docker exec -it  timescaledb bash
timescaledb-tune --memory="2GB" --cpus=2 --yes  --quiet

Using postgresql.conf at this path:
/var/lib/postgresql/data/postgresql.conf

Writing backup to:
/tmp/timescaledb_tune.backup202304071240

Recommendations based on 2.00 GB of available memory and 2 CPUs for PostgreSQL 13
success: all settings tuned, no changes needed
Saving changes to: /var/lib/postgresql/data/postgresql.conf

二、zabbix_server

mkdir /data/zabbix/zabbix_server -p && cd /data/zabbix/zabbix_server

cat > start.sh << 'EOF'
#!/bin/bash
docker rm -f zabbix_server

cd `dirname $0`

docker run -d \
--name zabbix_server \
--restart always \
--net host \
--add-host=timescaledb:192.168.11.101 \
-v /etc/localtime:/etc/localtime:ro \
-v `pwd`/data/alertscripts:/usr/lib/zabbix/alertscripts:ro \
-v `pwd`/data/externalscripts:/usr/lib/zabbix/externalscripts:ro \
-v `pwd`/data/export:/var/lib/zabbix/export:rw \
-v `pwd`/data/modules:/var/lib/zabbix/modules:ro \
-v `pwd`/data/enc:/var/lib/zabbix/enc:ro \
-v `pwd`/data/ssh_keys:/var/lib/zabbix/ssh_keys:ro \
-v `pwd`/data/mibs:/var/lib/zabbix/mibs:ro \
-v `pwd`/data/snmptraps:/var/lib/zabbix/snmptraps:ro \
-e ENABLE_TIMESCALEDB=true \
-e DB_SERVER_HOST=timescaledb \
-e POSTGRES_USER=zabbix \
-e POSTGRES_PASSWORD=Timescaledb@2022 \
-e POSTGRES_DB=zabbix \
-e ZBX_JAVAGATEWAY_ENABLE=true \
-e ZBX_STARTJAVAPOLLERS=5 \
-e ZBX_ENABLE_SNMP_TRAPS=true \
-e ZBX_TIMEOUT=30 \
zabbix/zabbix-server-pgsql:6.0-alpine-latest
EOF

bash start.sh

三、zabbix_nginx

mkdir /data/zabbix/nginx -p  && cd /data/zabbix/nginx

cat > start.sh << 'EOF'
#!/bin/bash
docker rm -f zabbix_nginx
cd `dirname $0`

docker run -d \
--name zabbix_nginx \
--restart always \
-p 8080:8080 \
-p 443:443 \
--add-host=timescaledb:192.168.11.101 \
--add-host=zabbix-server:192.168.11.101 \
-v /etc/localtime:/etc/localtime:ro \
-v `pwd`/data/ssl:/etc/ssl/nginx:ro \
-v `pwd`/data/modules/:/usr/share/zabbix/modules/:ro \
-e ZBX_SERVER_HOST=zabbix-server \
-e DB_SERVER_HOST=timescaledb \
-e POSTGRES_USER=zabbix \
-e POSTGRES_PASSWORD=Timescaledb@2022 \
-e POSTGRES_DB=zabbix \
zabbix/zabbix-web-nginx-pgsql:6.0-alpine-latest
EOF

bash start.sh

四、zabbix_java_gateway

mkdir /data/zabbix/zabbix_java_gateway -p  && cd /data/zabbix/zabbix_java_gateway

cat > start.sh << 'EOF'
#!/bin/bash
docker rm -f zabbix_java_gateway

cd `dirname $0`

docker run -d \
--name zabbix_java_gateway \
--restart always \
--add-host=zabbix-server:192.168.11.101 \
-p 10052:10052 \
-v /etc/localtime:/etc/localtime:ro \
zabbix/zabbix-java-gateway:6.0-alpine-latest
EOF

bash start.sh

五、zabbix_snmptraps

mkdir /data/zabbix/zabbix_snmptraps -p  && cd /data/zabbix/zabbix_snmptraps

cat > start.sh << 'EOF'
#!/bin/bash
docker rm -f zabbix_snmptraps

cd `dirname $0`

docker run -d \
--name zabbix_snmptraps \
--restart always \
--add-host=zabbix-server:192.168.11.101 \
-p "162:1162/udp" \
-v /etc/localtime:/etc/localtime:ro \
-v /data/zabbix_server/data/snmptraps:/var/lib/zabbix/snmptraps:rw \
zabbix/zabbix-snmptraps:6.0-alpine-latest
EOF

bash start.sh

六、zabbix_web_service

mkdir /data/zabbix/zabbix_web_service -p  && cd /data/zabbix/zabbix_web_service

cat > start.sh << 'EOF'
#!/bin/bash
docker rm -f zabbix_web_service

cd `dirname $0`

docker run -d \
--name zabbix_web_service \
--restart always \
-p 10053:10053 \
--cap-add=SYS_ADMIN \
--add-host=zabbix-server:192.168.11.101 \
-v /etc/localtime:/etc/localtime:ro \
-e ZBX_LISTENPORT=10053 \
-e ZBX_ALLOWEDIP=zabbix-server \
zabbix/zabbix-web-service:6.0-alpine-latest
EOF

#ZBX_ALLOWEDIP有多个值时用“逗号”隔开

bash start.sh

七、zabbix_agent2
方法一 rpm安装

#下载zabbix-agent2
wget --no-check-certificate  https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-agent2-6.0.5-1.el7.x86_64.rpm 
wget --no-check-certificate  https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-get-6.0.5-1.el7.x86_64.rpm
wget --no-check-certificate  https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-sender-6.0.5-1.el7.x86_64.rpm

rpm -ivh *.rpm

cat > /etc/zabbix/zabbix_agent2.conf << 'EOF'
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.11.101
ServerActive=192.168.11.101:10051
Hostname=192.168.11.101
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
EOF
systemctl enable zabbix-agent2
systemctl start zabbix-agent2
systemctl status zabbix-agent2

方法二 docker

mkdir /data/zabbix/zabbix_agent2/conf -p && cd /data/zabbix/zabbix_agent2

cat > /data/zabbix/zabbix_agent2/conf/zabbix_agent2.conf << 'EOF'
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.11.101
ServerActive=192.168.11.101:10051
Hostname=192.168.11.101
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
EOF

cat > start.sh << 'EOF'
#!/bin/bash
docker rm -f zabbix_agent2

cd `dirname $0`

docker run -d \
--name zabbix_agent2 \
--restart always \
--net host \
--privileged \
-v /etc/localtime:/etc/localtime:ro \
-v `pwd`/conf/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro \
-v `pwd`/conf/zabbix_agent2.conf:/etc/zabbix/zabbix_agent2.conf \
zabbix/zabbix-agent2:6.0-centos-latest
EOF

bash start.sh

方法三 二进制部置zabbix-agent2

#提取zabbix-agent2二进制文件
groupadd zabbix
useradd zabbix -g zabbix
#安装依赖pcre2
yum install pcre2 -y
wget --no-check-certificate  https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-agent2-6.0.5-1.el7.x86_64.rpm 
wget --no-check-certificate  https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-get-6.0.5-1.el7.x86_64.rpm
wget --no-check-certificate  https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-sender-6.0.5-1.el7.x86_64.rpm

rpm2cpio https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-agent2-6.0.5-1.el7.x86_64.rpm |cpio -idv ./usr/sbin/zabbix_agent2

mkdir -p /data/zabbix_agent2/{
   
   sbin,log,zabbix_agent2.d}
mv  ./usr/sbin/zabbix_agent2 /data/zabbix_agent2/sbin/

chown-R zabbix.zabbix /data/zabbix_agent2

cat > /etc/systemd/system/zabbix-agent2.service << 'EOF'
[Unit]
Description=Zabbix Agent 2
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/data/zabbix_agent2/zabbix_agent2.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent2
Type=simple
Restart=on-failure
PIDFile=/data/zabbix_agent2/zabbix_agent2.pid
KillMode=control-group
ExecStart=/data/zabbix_agent2/sbin/zabbix_agent2 -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
EOF

cat > /data/zabbix_agent2/zabbix_agent2.conf << 'EOF'
PidFile=/data/zabbix_agent2/zabbix_agent2.pid
LogFile=/data/zabbix_agent2/log/zabbix_agent2.log
LogFileSize=0
Server=192.168.11.100
ServerActive=192.168.11.100:10051
Hostname=192.168.11.100
Include=/data/zabbix_agent2/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
EOF 

systemctl daemon-reload
systemctl enable zabbix-agent2
systemctl start zabbix-agent2
systemctl status zabbix-agent2

八、使用Node_exporter作为zabbix的客户端

mkdir /data/node_exporter/ -p
cat 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值