部署安装 Zabbix 详解 --- 分别使用 Docker 和 rpm 源码包

37 篇文章 2 订阅
22 篇文章 1 订阅
一、 Zabbix介绍

docker hub
运维离不开系统监控,鱼儿哭了大海知道,服务器崩了,监控知道。一款强大的监控系统可以有力保证设备和业务的稳定。作为老牌的监控系统,Zabbix 的架构包括了被监控设备和 Zabbix 监控服务器两大部分。

Zabbix Agent 运行在被监控设备上,负责和 Zabbix Server 通信获取和控制被监控设备,它有主动和被动两种工作模式。

Zabbix Server 作为监控核心,可以直接与 Zabbix Agent 连接也可以通过 Zabbix Proxy 进行连接,再由 Zabbix Proxy 连接 Zabbix Agent。后面这种方式用在分布式监控的场景。

Zabbix Server 获取的数据存放到 Zabbix Server 的数据库中,Zabbix UI(Web)可以读取服务器中的数据,通过图表的方式展示出来。

Zabbix 构建过程,分为安装 Zabbix Agent/Server/UI,Host 配置,Item 配置,Trigger 配置,Action 配置。

这个配置过程完美地回答了,“监控谁?监控什么?出现异常以后如何处理?”的问题。

最后,针对不同应用场景,Zabbix 还支持多种监控方式,有 Zabbix Agent,SNMP,IPMI 以及 JMX。

二、 Docker 安装与部署 Zabbix

从容器安装 Zabbix Documentation 3.4

Download and install Zabbix

  1. 启动一个空的Mysql服务器实例
docker run --name mysql-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
      -d mysql:5.7  \
--character-set-server=utf8 --collation-server=utf8_bin
  1. 启动Zabbix Java gateway实例,Zabbix本身不支持直接监控Java,而是使用zabbix-java-gateway监控jvm/tomcat性能
docker run --name zabbix-java-gateway -t \
      -d zabbix/zabbix-java-gateway:latest
  1. 启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例
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_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:latest
docker run --name zabbix-server-mysql -t \
      **-e DB_SERVER_HOST="119.18.193.26" \**
      -e DB_SERVER_PORT="3306" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="root" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link zabbix-java-gateway:zabbix-java-gateway \
      -v /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
      -v /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:alpine-4.2.6
  1. 启动Zabbix web 接口 10050 ,并将它与MySQL服务器实例和Zabbix server实例关联
docker run --name zabbix-web-nginx-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 10050:80 \
      -d zabbix/zabbix-web-nginx-mysql:latest
docker run --name zabbix-web -t \
-p 10050:80 \
--hostname zabbix-web \
-e PHP_TZ="Asia/Shanghai" \
-e DB_SERVER_HOST="119.18.193.26" \
-e DB_SERVER_PORT="3306" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="123456" \
**--link zabbix-server-mysql:zabbix-server \**
-d zabbix/zabbix-web-nginx-mysql:alpine-4.2.6
  1. 查看已经启动的端口
[root@ken ~]# ss -tnl
State    Recv-Q  Send-Q   Local Address:Port   Peer Address:Port
LISTEN   0       128     127.0.0.1:9000        *:*
LISTEN   0       50      *:3306                *:*
LISTEN   0       50      *:139                 *:*
LISTEN   0       128     *:80                  *:*
LISTEN   0       128     *:22                  *:*
LISTEN   0       50      *:445                 *:*
LISTEN   0       50      :::139                :::*
LISTEN   0       128     :::80                 :::*
LISTEN   0       128     :::10050              :::*
LISTEN   0       50      :::445                :::*
LISTEN   0       128     :::10051              :::*
  1. 查看容器启动情况
[root@zabbix_server ~]# docker ps
CONTAINER ID        IMAGE                                  COMMAND                  CREATED              STATUS              PORTS                           NAMES
98cbe8d8a6bd        zabbix/zabbix-web-nginx-mysql:latest   "docker-entrypoint.sh"   6 seconds ago        Up 5 seconds        443/tcp, 0.0.0.0:8080->80/tcp   zabbix-web-nginx-mysql
de040d43d60f        zabbix/zabbix-server-mysql:latest      "docker-entrypoint.sh"   59 seconds ago       Up 59 seconds       0.0.0.0:10051->10051/tcp        zabbix-server-mysql
3276f18def8d        mysql:5.7                              "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp                        mysql-server
  1. 查看docker镜像
[root@zabbix_server ~]# docker images

REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
zabbix/zabbix-web-nginx-mysql   latest              4db891b4393a        10 hours ago        177MB
zabbix/zabbix-server-mysql      latest              f5e58dafe9ac        10 hours ago        62.2MB
mysql                           5.7                 f0f3956a9dd8        7 days ago          409MB
  1. 访问web界面

docker run --name gitlab -d --link postgresql:postgresql -e ‘REDIS_HOST=119.18.193.26’ -e ‘REDIS_PORT=6379’ -p 10022:22 -p 9099:80 -e ‘GITLAB_PORT=9099’ -e ‘GITLAB_SSH_PORT=10022’ -e ‘GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string’ -e ‘GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string’ -e ‘GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string’ -e ‘GITLAB_HOST=119.18.193.26’ -e ‘GITLAB_EMAIL=15509853198@sina.com’ -e ‘SMTP_ENABLED=true’ -e ‘SMTP_DOMAIN=www.sina.com’ -e ‘SMTP_HOST=smtp.sina.com’ -e ‘SMTP_STARTTLS=false’ -e ‘SMTP_USER=stefan_muriel’ -e ‘SMTP_PASS=59d554225a0c52fb’ -e ‘SMTP_AUTHENTICATION=login’ -e ‘GITLAB_BACKUP_SCHEDULE=week’ -e ‘GITLAB_BACKUP_TIME=0’ -v /data/gitlab/data:/home/git/data sameersbn/gitlab

三、 Zabbix 源码包安装与部署
  1. 使用 rpm 安装,或者 wget 下载包。
3.4版本

[root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

3.0版本

[root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

[root@localhost ~]# wget http://www.zabbix.com/downloads/3.0/zabbix_agents_3.0.linux2_6.x64.tar.gz
  1. 安装zabbix的包
[root@localhost ~]# yum install -y zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender
  1. 创建一个zabbix库并设置为utf8的字符编码格式
[root@localhost ~]# mysql -uroot -p

mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
  1. 创建账户并且授权设置密码
    给来自loclhost的用户zabbxi分配可对数据库zabbix所有表进行所有操作的权限,并且设定密码为zabbix
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
# 注意后面密码带引号
Query OK, 0 rows affected (0.00 sec)

# 刷新
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

# 退出
mysql> Ctrl-C  exit!
  1. 导入默认的zabbix数据库信息
[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.24/

[root@localhost zabbix-server-mysql-3.0.24]# zcat /usr/share/doc/zabbix-server-mysql-3.0.24/create.sql.gz | mysql zabbix -uzabbix -pzabbix
  1. 修改 配置 zabbix server 配置文件
    yum方式部署的话,其默认的配置文件是在/etc/zabbix。
[root@localhost ~]# vi /etc/zabbix/zabbix_server.conf
添加修改以下内容:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
  1. 修改配置文件/etc/httpd/conf.d/zabbix.conf,时区改成 Asia/Shanghai
[root@localhost ~]# vi /etc/httpd/conf.d/zabbix.conf
添加修改以下内容:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai

在这里插入图片描述

  1. 启动 apache/zabbix-server 服务并设置为开机启动
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# systemctl start zabbix-server
[root@localhost ~]# systemctl enable zabbix-server
四、 访问网站
  1. 访问 http://本机IP/zabbix
    例如:http://192.168.85.11/zabbix
    在这里插入图片描述
    在这里插入图片描述
  2. password是我们设置的数据库密码zabbix
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 登陆账户是Admin ------------ 密码zabbix
    在这里插入图片描述
  4. 设置中文
    在这里插入图片描述

在这里插入图片描述

  1. 对服务器自身进行监控
    在这里插入图片描述

欢迎点赞、关注和评论哦!
如果你也是技术宅,如果你也对技术渴望提升,那么我们是同一类人,欢迎大家关注我的个人公众号,我们一起进步吧!

在这里插入图片描述
如果对你有帮助,赞赏也是对我最大的支持。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值