公司一直没有一个完整的监控体系,一直用着阿里云的免费的主机监控,好多监控没法自定义,于是只好开始配置自身的监控系统。
以下内容全部基于docker方式部署
docker安装zabbix-server端
安装mysql数据库
这一步,实现mysql数据库的创建
docker run --name zabbix-mysql -t \
--restart=always \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="自定义zabbix数据库密码" \
-e MYSQL_ROOT_PASSWORD="自定义root用户密码" \
-v /etc/localtime:/etc/localtime \
-v /etc/timezone:/etc/timezone \
-v /data/mysql/zabbix/data/:/var/lib/mysql \
-v /data/mysql/zabbix/conf.d/:/etc/mysql/conf.d \
-p 3306:3306 \
-p 33060:33060 \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin
注意:
如果配置这个时区参数,-v /etc/timezone:/etc/timezone \
请确保你本地存在/etc/timezone
文件,而不是文件夹,否则会报错,如果没有这个文件,创建即可。vi /etc/timezone
内容为: Asia/shanghai
启动 Zabbix Java gateway 实例
用于监控java程序的,如果需要监控java,可以不用安装
docker run --name zabbix-java-gateway \
-p 10052:10052 \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-t -d zabbix/zabbix-java-gateway:latest
启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例。
连接到上面创建的mysql和zabbix-java-gateway容器,然后在mysql数据库中,自动插入zabbix所需要的数据表和结构
docker run --name zabbix-server -t \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /data/zabbix/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:rw \
-v /data/zabbix/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:rw \
-v /data/zabbix/zabbix/modules:/var/lib/zabbix/modules:rw \
-e DB_SERVER_HOST="zabbix-mysql" \
-e DB_SERVER_PORT="3306" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="自定义的zabbix密码" \
-e MYSQL_ROOT_PASSWORD="自定义的root密码" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link zabbix-mysql:zabbix-mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:alpine-latest
启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server 实例
创建运行zabbix-server管理界面容器,关联了数据库容器和zabbix-server容器。
docker run --name zabbix-web -t \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /data/zabbix/nginx:/etc/ssl/nginx \
-e DB_SERVER_HOST="zabbix-mysql" \
-e DB_SERVER_PORT="3306" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="自定义的zabbix密码" \
-e MYSQL_ROOT_PASSWORD="自定义的zabbix密码" \
--link zabbix-mysql:zabbix-mysql \
--link zabbix-server:zabbix-server \
-p 10080:80 \
-p 10443:443 \
-d zabbix/zabbix-web-nginx-mysql:alpine-latest
自此,zabbix-server服务器创建完毕。
ip:10080
即可出现登录界面
默认账号和密码
账号:Admin
密码:zabbix
下一节:zabbix新增主机