docker是什么,还有怎么用,请看我另一篇博客,希望你们看懂了,然后还能用得上.
至于zabbix,应该是挺出名的服务器监控软件了,简单灵活而又智能化,还能调用API,比起我以前用的nagios感觉还简单一些,下面来介绍在docker环境安装zabbix3.2.
首先说说3.2这个版本是最新版,这个版本和之前2.X的差异,主要在于UI优化,还有加强了一些自动发现的功能,性能优化等,很多人担心太新稳定性不行,但是我这边稳定性暂时没发现问题.
安装前要准备一套LNMP环境,因为zabbix本身也是web系统,怎么安装LNMP,我就不在这里详细说了,也不应再篇幅之内,各位自行安装.
启动docker容器:
我标题写的是使用docker搭建,所以先用docker启动一个容器来实现,不过比较遗憾,我并不打算详细说docker的事情,各位就请看我另一篇文章了,我这边直接用自己已经定义好的模板来做了,命令如下:
1
|
docker run -ti --name zabbix-test1 --restart=on-failure:3 -c 256 -m 1g --memory-swap=-1 -p 25001:22 -p 10050:10050 -p 10051:10051 - v /data/zabbix : /data - v /mnt/soft : /soft centos /test :zabbix-test1 /bin/init .sh
|
具体意思还是得说说的,不然真的云里雾里,这里创建了一个叫zabbix-test1的容器,分配了256份cpu,1G内存,把22端口映射到25001,把10050和10051映射到母机相同的端口,并挂载相关要使用的文件夹.
里面已经有安装好的LNMP环境,端口映射也直接能用,我不用装服务器了,也不用拉一大堆依赖包,相当方便,所以LNMP环境也不准备细说了,没错,docker就是这点爽.
安装:
安装前嘛,当然是先下载软件了,可以去这个网站:
http://www.zabbix.com/download
其他不用研究了,我们只看Zabbix Sources源码包系列和Zabbix pre-compiled agents监控节点程序
监控节点稍后再说,现在来看用源码安装zabbix server和agent,zabbix的源码包已经有了一整套的环境,按着流程来做就完全没问题了
创建、导入zabbix数据库:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
cd /opt/
tar xf zabbix-3.2.1. tar .gz
cd /opt/zabbix-3 .2.1 /database/mysql
ls -l
total 3064
-rw-r--r-- 1 www www 1032494 Sep 30 17:47 data.sql
-rw-r--r-- 1 www www 1978341 Sep 30 17:43 images.sql
-rw-r--r-- 1 www www 122134 Sep 30 17:47 schema.sql
mysql -uroot -pXXXXXX
create database zabbix character set utf8;
insert into mysql.user(Host,User,Password) values( 'localhost' , 'zabbix' ,password( 'zabbix' ));
flush privileges;
grant all on zabbix.* to 'zabbix' @ 'localhost' identified by 'zabbix'
flush privileges;
use zabbix
source /opt/zabbix-3 .2.1 /database/mysql/schema .sql
source /opt/zabbix-3 .2.1 /database/mysql/images .sql
source /opt/zabbix-3 .2.1 /database/mysql/data .sql
exit
mysql -uzabbix -p123456 -hlocalhost zabbix < /opt/zabbix-3 .2.1 /database/mysql/schema .sql
mysql -uzabbix -p123456 -hlocalhost zabbix < /opt/zabbix-3 .2.1 /database/mysql/images .sql
mysql -uzabbix -p123456 -hlocalhost zabbix < /opt/zabbix-3 .2.1 /database/mysql/data .sql
|
安装zabbix:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
1、添加用户:
groupadd zabbix
useradd zabbix -g zabbix -s /bin/false
2、安装依赖包
yum install net-snmp-devel curl curl-devel mysql-devel
apt-get install -y libsnmp-dev libmysqld-dev curl
3、安装zabbix
cd /opt/zabbix-3 .2.1
. /configure --prefix= /usr/local/zabbix -- enable -server -- enable -agent --with-net-snmp --with-libcurl -- enable -proxy --with-mysql= /usr/bin/mysql_config
make
make install
ln -s /usr/local/zabbix/sbin/ * /usr/local/sbin/
ln -s /usr/local/zabbix/bin/ * /usr/local/bin/
4、添加zabbix服务对应的端口
vi /etc/services
zabbix-agent 10050 /tcp
zabbix-agent 10050 /udp
zabbix-trapper 10051 /tcp
zabbix-trapper 10051 /udp
:wq!
5、修改zabbix配置文件
cd /usr/local/zabbix/etc
vi /usr/local/zabbix/etc/zabbix_server .conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=localhost
DBPort=3306
AlertScriptsPath= /usr/local/zabbix/share/zabbix/alertscripts
:wq!
vi /usr/local/zabbix/etc/zabbix_agentd .conf
Include= /usr/local/zabbix/etc/zabbix_agentd .conf.d/
UnsafeUserParameters=1
:wq!
6、添加开机启动脚本
cp /usr/local/src/zabbix-3 .2.1 /misc/init .d /fedora/core/zabbix_server /etc/init .d /zabbix_server
cp /usr/local/src/zabbix-3 .2.1 /misc/init .d /fedora/core/zabbix_agentd /etc/init .d /zabbix_agentd
chmod +x /etc/init .d /zabbix_server
chmod +x /etc/init .d /zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on
7、修改zabbix开机启动脚本中的zabbix安装目录
vi /etc/init .d /zabbix_server
BASEDIR= /usr/local/zabbix/
:wq!
vi /etc/init .d /zabbix_agentd
BASEDIR= /usr/local/zabbix/
:wq!
|
配置web站点(php代码):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
cd /opt/zabbix-3 .2.1
cp -r /usr/local/src/zabbix-3 .2.1 /frontends/php /data/htdocs/www/zabbix
chown www:www -R /data/htdocs/www/zabbix
备注: /data/htdocs/www 为我自己设置的Nginx默认站点目录 www为Nginx运行账户
service zabbix_server start
service zabbix_agentd start
vi /etc/php .ini
post_max_size =16M
max_execution_time =300
max_input_time =300
:wq!
vi /usr/local/php/etc/php-fpm .conf
request_terminate_timeout = 300
:wq!
service php-fpm reloa
|
不过,还要多做一个事,修改web界面为中文,因为虽然zabbix自带中文语言包,但是翻译效果惨不忍睹(谁叫电脑是美国发明的呢),有很多乱码,所以需要改善一下,
1、修改系统配置文件,让web页面支持简体中文显示,新版本其实已经改好,但是还是要注意这个地方,别被坑
1
2
3
4
5
6
7
|
vi /data/htdocs/www/zabbix/include/locales .inc.php
'zh_CN' => array( 'name' => _( 'Chinese (zh_CN)' ), 'display' => false ),
'zh_CN' => array( 'name' => _( 'Chinese (zh_CN)' ), 'display' => true ),
:wq!
|
2、替换监控图像上系统默认的字体,默认字体如果不替换,图像上会显示乱码
在Windows系统中的C:\Windows\Fonts目录中复制出一个中文字体文件,例如msyh.ttf是微软雅黑
1
2
3
4
5
6
|
cp -ar msyh.ttf /data/htdocs/www/zabbix/fonts/msyh .ttf
mv DejaVusSans.ttf DejaVusSans.ttf.bak
mv msyh.ttf DejaVusSans.ttf
|
最后,在web界面修改配置信息,把默认语言修改为简体中文,这个后面再说明在哪里改
Language:Chinese(zh_CN)
安装web:
这个步骤主要是在web运行,zabbix的web和zabbix_server是两回事,和zabbix_agent是三回事,所以配置都是不一样的,下面来看看.
先打开已经配置好的web站点,你的LNMP环境没问题就可以正常了.
进入http://10.27.X.X/zabbix 看到欢迎界面,直接右下角下一步:

这里全是ok的话,你就可以下一步了.这里是否ok取决于你LNMP的配置环境符不符合他的要求,有一个不ok,你就不能下一步了,这里也看到了,php要5.4以上,还有一些特定的php配置.不过,如果不ok也会有提示的,只要不是软件版本不兼容的问题,按着他提示的来改配置,也是能过的:

这一步就是配置数据库了,你的zabbix_server是怎么配置的,就怎么配置吧,然后下一步就行,当然你要保证数据库能连得上是吧:

这一步是确认你自己的地址和端口,要不是你自己闲的蛋疼做了什么特殊的网络配置,直接下一步就可以了:

这一步就是确认你之前提交过的数据,生成表单,然后提交,属于检查吧,检查过没问题就下一步吧:

这步就是完成配置了,直接点finish就行了,你的zabbix就配置完成了.

登录使用:
详细的使用方法会在下一篇深入探讨,这里只说明怎么登录和简单使用
默认的账号:admin
默认的密码:zabbix
Sign in 登录进去
当然你是可以改的,进去再改吧

进去了就是这样,当然这是我有一些机器了,不要紧张为什么和我不一样:

修改密码和语言就点右上角的小人头然后就出来一个修改框让你改了,改成什么你们随意:

想要添加用户,就点击管理--用户,去添加和修改用户,你也可以添加用户群组,还可以配置特定权限,这个自己摸索,不想详细说明了

然后,这就能用了,当然还要添加机器了,不然还看啥,不过要下一篇再详细说明,敬请期待.
本文转自arthur376 51CTO博客,原文链接:http://blog.51cto.com/arthur376/1875442,如需转载请自行联系原作者