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

最低0.47元/天 解锁文章
2816

被折叠的 条评论
为什么被折叠?



