课程资料:https://github.com/findsec-cn/zabbix
1. yum install docker-latest :安装最新的docker ,选择 y ,等待自动安装完成即可
设置为下次开机自启:systemctl enable docker
2.docker -h :查看docker帮助
3.systemctl start docker-latest :启动最新的docker
4.systemctl status docker-latest :查看最新的docker运行状态
5.ps aux|grep docker : 查看docker运行进程
6.docker ps :查看docker 所有进程
7.docker run -d -p 81:81 httpd :运行安装docker中的httpd (8181端口) (将宿主机的81(前者)分别映射到容器的81(后者))
8.docker ps :查看docker启动进程
9.ps aux|grep http :查找http进程
10.docker stop 9de58f5e44cf :停止docker的httpd进程( 9de58f5e44cf为docker的httpd进程进程号)
11.docker ps :查看docker启动进程
12.安装zabbix相关:
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER=“zabbix” -e MYSQL_PASSWORD="zabbix@findsec123" -e MYSQL_ROOT_PASSWORD="zabbix@findsec123" -d mysql:5.7 --character-set-server=urf8 --collation-server=utf8_bin ( --character-set-server=urf8 --collation-server=utf8_bin编码设置有问题)
docker数据库使用3307端口:
docker run -d -p 3307:3307 -e MYSQL_ROOT_PASSWORD=12345 --name mysql_test2 mysql:5.7.23
docker run -d -p 3307:3307 -e MYSQL_ROOT_PASSWORD=12345 --name mysql-server mysql:5.7.23
docker数据库使用3307端口且编码设置位utf8(可用):
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER=“zabbix” -e MYSQL_PASSWORD="zabbix@findsec123" -e MYSQL_ROOT_PASSWORD="zabbix@findsec123" -d -p 3307:3307 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
13.docker ps :查看mysql-server是否启动
docker rm mysql-server 移除容器 mysql-server
14. docker run --name zabbix-java-gateway -t -d zabbix/zabbix-java-gateway:latest
15.docker ps :查看zabbix-java-gateway是否启动
16.docker log 7bfedc829409 :查看zabbix-java-gateway的启动日志(7bfedc829409为zabbix-java-gateway的docker进程号)
17.docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix@findsec123" -e MYSQL_ROOT_PASSWORD="zabbix@findsec123" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link mysql-server --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 -d zabbix/zabbix-server-mysql:latest
link的作用就是是两个容器相互连接,使数据相互通信,link后面跟容器的名称或ID
18.docker安装zabbix前端:
docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOSR="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix@findsec123" -e MYSQL_ROOT_PASSWORD="zabbix@findsec123" --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 9090:80 -d zabbix/zabbix-web-nginx-mysql:latest
(-P:将容器内部使用的网络端口映射到我们使用的主机上。)
(ip:9090 就能看到zabbix-web-nginx-mysql 主页,如果看不到,进入容器,查看zabbix-web-nginx-mysql 是否启动:
ps -ef | grep zabbix-web-nginx-mysql )
19.docker ps :查看zabbix的web是否启动
20.查看日志: docker logs 9de58f5e44cf ( 9de58f5e44cf为docker的zabbix-web-nginx-mysql进程的进程号)
docker的 zabbix-agent的zabbix_agentd.conf配置文件为,未安装zabbix-agent 前:
使用命令 find / -name zabbix_agentd.conf :找到zabbix_agentd.conf配置文件路径
找到路径如下:
/var/lib/docker-latest/overlay2/465e5fa0796af9136fcdb548e2e35b05c498b454b9261e53913ca930d409d561/diff/etc/zabbix/zabbix_agentd.conf
将zabbix_agentd.conf文件中Server和ServerActive的配置,由127.0.0.1修改为172.17.0.1
其中 172.17.0.1 为docker 的ip(通过 ifconfig 或 ip address show 可以查看docker的ip地址)
21.安装容器化的zabbix的agent:
docker run --name zabbix-agent -p 10050:10050 -e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="zabbix-server-mysql" --link zabbix-server-mysql:zabbix-server -d zabbix/zabbix-agent:latest
docker run --name zabbix-agent -p 10050:10050 -e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="172.17.0.1" --link zabbix-server-mysql:zabbix-server -d zabbix/zabbix-agent:latest
其中 172.17.0.1 为docker 的ip(通过 ifconfig 或 ip address show 可以查看docker的ip地址)
其中web前端的hostname要与 ZBX_HOSTNAME的值一致,ip要与ZBX_SERVER_HOST(ZBX_SERVER_HOST为代理客户端的机子的IP地址,即从这个ip发送过来的数据)的值一致
22.docker ps :查看 zabbix-agent是否启动
23.docker logs 9d0089c34e12 (9d0089c34e12为docker的 zabbix-agent进程的进程号)
24.docker stop 9d0089c34e12 :关闭进程
25.docker rm 9d0089c34e12 :移除容器
26:访问 http://192.168.100.198:9090 即可登录,用户名:Admin 密码:zabbix
二、配置:
https://www.jianshu.com/p/8cd83436373b
find / -name zabbix_agentd.conf :找到zabbix_agentd.conf配置文件路径
找到路径如下:
/var/lib/docker-latest/overlay2/465e5fa0796af9136fcdb548e2e35b05c498b454b9261e53913ca930d409d561/diff/etc/zabbix/zabbix_agentd.conf
/var/lib/docker-latest/overlay2/4d424828878104ca3ceffe3c9b47abc64d24371404aa93fe12693be6c9e6303f/diff/etc/zabbix/zabbix_agentd.conf
/var/lib/docker-latest/overlay2/4d424828878104ca3ceffe3c9b47abc64d24371404aa93fe12693be6c9e6303f/merged/etc/zabbix/zabbix_agentd.conf
cd /var/lib/docker-latest/overlay2/4d424828878104ca3ceffe3c9b47abc64d24371404aa93fe12693be6c9e6303f/merged/etc/zabbix/
2.docker进入容器数据库:https://blog.csdn.net/qq_38522268/article/details/87972453?utm_source=distribute.pc_relevant.none-task
docker ps
docker exec -it 89c5b9c81e74 bash (89c5b9c81e74为数据库的id)
mysql -u root -p