您的位置:首页 > 运维架构 > Docker

ubuntu下安装配置部署zabbix——基于docker

2016-07-22 09:00 1111 查看
最近听说zabbix这个很好用的监听工具,正好项目用得上,就花了点功夫研究了一下。

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix 由2部分构成,zabbix server 与可选组件zabbix agent。

zabbix-agent 部署在被监控机上面,zabbix-server (建议部署在另外一台主机上),zabbix-agent 会发送数据到zabbix-server 或者zabbix-server 主动索取数据. (zabbix.com 官网的manual 上面有安装配置) 。

安装zabbix-server,对比了各种说法我选择了一种最简单的:

基于docker engine安装zabbix-server

首先安装docker

sudo apt-get update
sudo apt-get install curl
curl -sSL https://get.docker.io/ | sudo sh

重启

docker run hello-word

接下来根据https://hub.docker.com/r/monitoringartist/zabbix-3.0-xxl/  完成server的安装,命令如下:

# create /var/lib/mysql as persistent volume storage
docker run -d -v /var/lib/mysql --name zabbix-db-storage busybox:latest

# start DB for Zabbix - default 1GB innodb_buffer_pool_size is used
docker run \
-d \
--name zabbix-db \
-v /backups:/backups \
-v /etc/localtime:/etc/localtime:ro \
--volumes-from zabbix-db-storage \
--env="MARIADB_USER=zabbix" \
--env="MARIADB_PASS=my_password" \
monitoringartist/zabbix-db-mariadb

# start Zabbix linked to started DB
docker run \
-d \
--name zabbix \
-p 80:80 \
-p 10051:10051 \
-v /etc/localtime:/etc/localtime:ro \
--link zabbix-db:zabbix.db \
--env="ZS_DBHost=zabbix.db" \
--env="ZS_DBUser=zabbix" \
--env="ZS_DBPassword=my_password" \
monitoringartist/zabbix-3.0-xxl:latest
# wait ~60 seconds for Zabbix initialization
# Zabbix web will be available on the port 80, Zabbix server on the port 10051


安装完server之后可以基于docker的命令执行一些对于zabbix的操作,例如:

显示running的zabbix服务:

docker ps


stop zabbix服务:

docker rm -f zabbix


访问zabbix-agent:

docker exec -i zabbix sh -c 'zabbix_get -s192.168.1.104 -p10050 -k"system.uptime"'
docker exec命令可以连接内部的shell

docker exec -ti zabbix /bin/bash

zabbix-server配置到此结束。

登入本地的ip就能进入zabbix的界面:http://192.168.1.198

默认用户名Admin,密码zabbix

zabbix-agent安装配置

zabbix-agent的安装很简单,配置会比较麻烦,首先到需要监控的机器上安装:

sudo apt-get update
sudo apt-get install zabbix-agent
修改配置文件:/etc/zabbix/zabbix_agentd.conf

Server=192.168.1.198  #server端ip
ServerActive=192.168.1.198  #server端ip
Hostname=192.168.1.104  #本机的ip或者本机的name
启动服务:

service zabbix-agentd start


有的时候会有一个防火墙问题,防火墙开启相应端口:

iptables -A INPUT -p tcp -s 10.0.101.248 -m multiport --dports 10050,10051 -jACCEPT


测试:在server端运行以下命令:

docker exec -i zabbix sh -c 'zabbix_get -s192.168.1.104 -p10050 -k"system.uptime"'

此时zabbix-agent安装完成了。

此时在server端的zabbix界面里面已经可以获取到数据了。

zabbix_agentd.conf配置文件详解:http://www.ttlsa.com/zabbix/zabbix_agentd-conf-description/

更多zabbix相关见:http://www.ttlsa.com/zabbix/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息