环境部署
1. 安装docker 和 docker-compose
yum install -y docker yum install -y docker-compose
2. 升级docker
传到宿主机 进行解压 tar xf docker-20.10.24.tgz
修改目所有者默认其他 chown root.root docker/*
把目录里的内容覆盖 mv docker/* /bin
麒麟中还要删除 \rm -f /usr/local/bin/runc
查看版本 docker --version
3. 升级docker-compose
mv docker-compose-linux-x86_64-2.26.0 /bin/docker-compose
chmod +x /bin/docker-compose
4. 设置内核转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
输出命令生效 sysctl -p
5. 导入镜像 官网可以获取
*.tar|xargs docker load -i
查看镜像 docker images
部署顺序
镜像说明 说明 端口映射
mysql 指定root密码,用户名,用户密码,库名字 3306
zabbix-server 连接数据库,创建库中的表 10051
zabbix-web zab前端(ngx+php)连接数据库,服务端 80:8080
zabbix-agent 使用zabbix-agent2客户端 10050
docker-compose启动
变量文件
cat .env
DB_ROOT_PASS="1"
DB_NAME="zabbix"
DB_USER="zabbix"
DB_USER_PASS="2"
[root@zabix ~]# cat docker-compose.yml
#version: "3.8"
services:
db:
image: mysql:8.0-debian
container_name: mysql-server
networks:
- oldboy_zbx_net
restart: always
ports:
- 3306:3306
- 33060:33060
volumes:
- ./zbx_mysql/:/var/lib/mysql/
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_USER_PASS}
command:
- --character-set-server=utf8
- --collation-server=utf8_bin
- --default-authentication-plugin=mysql_native_password
zbx_server:
image: zabbix/zabbix-server-mysql:ubuntu-6.0-latest
container_name: zabbix-server-mysql-6.0
networks:
- oldboy_zbx_net
restart: always
ports:
- 10051:10051
links:
- db:mysql-server
depends_on:
- db
environment:
DB_SERVER_HOST: "mysql-server"
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_USER_PASS}
zbx_web:
image: zabbix/zabbix-web-nginx-mysql:ubuntu-6.0-latest
container_name: zabbix-web-nginx-mysql
networks:
- oldboy_zbx_net
restart: always
ports:
- 80:8080
links:
- db:mysql-server
- zbx_server:zabbix_server
depends_on:
- db
- zbx_server
environment:
ZBX_SERVER_HOST: "zabbix_server"
DB_SERVER_HOST: "mysql-server"
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_USER_PASS}
networks:
oldboy_zbx_net:
driver: bridge
ipam:
config:
- subnet: 172.100.0.0/16
ip_range: 172.100.1.0/24
gateway: 172.100.1.1
启动容器
docker-compose up -d
登录测试
前端用户名/密码
Admin/zabbix
安装agent2 客户端
安装步骤
1. 配置yum源 安装
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-latest.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix*.repo
yum install -y zabbix-agent2
2. 配置客户端子配置文件
[root@zbx_server_lidao996 ~]# egrep -v '^$|#' /etc/zabbix/zabbix_agent2.conf
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=172.16.1.62,172.100.1.0/24 #指定服务端ip,服务端所在网段
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
PluginSocket=/run/zabbix/agent.plugin.sock
ControlSocket=/run/zabbix/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf
启动 systemctl enable --now zabbix_agent
3. 登录客户端检查
刷新
zabbix web端 网站使用
修改语言查看图形主机-->图形
执行自动发现自动添加网卡,磁盘分区监控
服务端配置文件
/etc/zabbix/zabbix_server.conf 配置文件
var/log/zabbix/zabbix_server.log 当前放在/tmp/下面
/usr/lib/systemd/system/zabbix-server.service 手写的systemctl管理文件如果yum、rpm安装自带
/usr/local/share/zabbix/alertscripts/ 用于实现告警的脚本。
服务端配置文件详细解读
zabbix@179401a94a37:/var/lib/zabbix$ egrep -v '#|^$' /etc/zabbix/zabbix_server.conf
LogType=console
DBHost=mysql-server
DBName=zabbix
DBUser=zabbix
DBPassword=2
DBPort=3306
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
SSHKeyLocation=/var/lib/zabbix/ssh_keys
User=zabbix
SSLCertLocation=/var/lib/zabbix/ssl/certs/
SSLKeyLocation=/var/lib/zabbix/ssl/keys/
SSLCALocation=/var/lib/zabbix/ssl/ssl_ca/
LoadModulePath=/var/lib/zabbix/modules/
WebServiceURL=http://zabbix-web-service:10053/report
ListenPort=10051 服务端端口
LogFile=/var/log/zabbix/zabbix_server.log 日志文件
DBHost=localhost 数据库地址
DBName=zabbix 数据库名字
DBUser=zabbix 数据库用户名
DBPassword=zabbix 数据库密码
Timeout=4 超时时间
客户端配置文件
/etc/zabbix/zabbix_agent2.conf 配置文件
/etc/zabbix/zabbix_agent2.d/ 子配置文件目录,自定义监控
/var/log/zabbix 日志
zbx客户端配置文件内容
Server=172.16.1.63,网段 指定服务端地址
egrep -v '#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=172.16.1.62,172.100.1.0/24
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
PluginSocket=/run/zabbix/agent.plugin.sock
ControlSocket=/run/zabbix/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf