zabbx监控之zabbix安装篇(docker方式)

公司一直没有一个完整的监控体系,一直用着阿里云的免费的主机监控,好多监控没法自定义,于是只好开始配置自身的监控系统。

以下内容全部基于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

即可出现登录界面

zabbx监控之zabbix安装篇(docker方式)

默认账号和密码

账号:Admin
密码:zabbix

下一节:zabbix新增主机