1232121 发表于 2016-5-9 09:30:55

debian8下安装配置部署zabbix3.0

一、安装配置zabbix server
    web server服务器:172.28.0.187    mysql服务器:172.28.0.237    1、安装web server(172.28.0.187)      A、官方文档
    zabbix官方提供了基于packages和编译安装方式的安装文档                这里server我使用package方式安装,agent使用源码编译的方式安装,因为server只有一台,而agent有很多台,需要对安装好的agent修改配置并重新打包,以方便后期批量部署。
    zabbix的package中有release包,因为zabbix server需要mysql,apache,php,而release包安装的方式会自动解决依赖关系。      B、release包下载           
1
root@demo:~# wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb




      C、安装release仓库

1
root@demo:~# dpkg -i zabbix-release_3.0-1+jessie_all.deb




      D、更新apt仓库

1
root@demo:~# aptitude update




      E、安装zabbix-server-mysql和zabbix-frontend-php    安装过程中请确保连接互联网,仓库的源建议用debian官方源,这里server-mysql会自动解决mysql的依赖关系安装mysql,frontend-php会解决apache和php的依赖关系
1
2
root@demo:~#aptitude install zabbix-server-mysql
root@demo:~#aptitude install zabbix-frontend-php




    安装zabbix-server-mysql后会产生一个/usr/share/doc/zabbix-server-mysql/create.sql.gz文件,这个文件后面在mysql服务器中用到
    2、配置mysql服务器(172.28.0.237)

    进入mysql服务器172.28.0.237,这里需要提前安装好Mysql,如果是在web server上使用数据库则配置web server的数据库      A、进入mysql
    这里因为我们公司的mysql数据库服务器是用的专门的mysql用户,所以需要先切换用户
1
2
root@demo:~# su - mysql
root@demo:~# mysql




      B、创建zabbix表,编码为utf8

1
mysql> create database zabbix character set utf8 collate utf8_bin;




      C、创建一个zabbix用户并给zabbix用户授权zabbix表
    授权范围为全网,用户为zabbix密码为123321qQ
1
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by '123321qQ';




    授权范围为本地,用户为zabbix密码为123321qQ
1
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '123321qQ';




      D、刷新mysql权限

1
mysql> flush privileges;




      E、将文件create.sql.gz导入zabbix表    用release方式安装生成的zabbix表不是schema.sql和images.sql和data.sql这三张表,而是集中在create.sql中,如果是这三张表的请把这三张表导入刚才创建的zabbix表中    因为我这里的create.sq.gz是放在web server上的,所以需要复制过来

1
2
3
#将172.28.0.187下的/usr/share/doc/zabbix-server-mysql/create.sql.gz传给172.28.0.237
root@demo:~# scp /usr/share/doc/zabbix-server-mysql/create.sql.gz root@172.28.0.237:/root
root@demo:~# cp /root/create.sql.gz /home/mysql/create.sql.gz





1
2
3
#切换到mysql用户导入表格到zabbix
root@demo:~# su - mysql
mysql@demo:~$ zcat create.sql.gz | mysql -uzabbix -p"123321qQ"    zabbix




    如果机子配置低,则导入时间很长,请耐心等待

    3、修改web server配置文件(172.28.0.187)      A、进入172.20.0.187修改/etc/zabbix/zabbix_server.conf
1
2
3
4
5
6
root@demo:~#vi /etc/zabbix/zabbix_server.conf
#修改一下几项
DBHOST=172.28.0.237    #mysql服务器地址
DBName=zabbix    #表名
DBUser=zabbix    #用户名
DBPassword=123321qQ    #密码




      B、修改/etc/apache2/conf-enabled/zabbix中的时区
1
2
3
root@demo:~# vim /etc/apache2/conf-enabled/zabbix.conf
#找到以下行注释取消,改为如下,因为我这里是重庆,所以写的是重庆,如果是其他地方可以用别的
php_value date.timezone Asia/Chongqing




      C、设置语言为中文
1
2
3
root@demo:~# vim /usr/share/zabbix/include/locales.inc.ph
#修改如下行   
'zh_CN' => ['name' => _('Chinese (zh_CN)'),   'display' => true],




      D、解决中文乱码问题
    在Windows中打开运行,输入fonts            不需要重命名    将文件上传到/usr/share/zabbix/fonts/目录中   
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#查看字体配置
root@demo:~# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php-n
45:define('ZBX_GRAPH_FONT_NAME',      'graphfont'); // font file name
93:define('ZBX_FONT_NAME', 'graphfont');
#确认字体名称是否可以替换
root@demo:~# grep graphfont /usr/share/zabbix/include/defines.inc.php-n
45:define('ZBX_GRAPH_FONT_NAME',      'graphfont'); // font file name
93:define('ZBX_FONT_NAME', 'graphfont');
#执行快捷替换
root@demo:~# sed -i "s/graphfont/msyh/g" /usr/share/zabbix/include/defines.inc.php
#确认是否替换成功
root@demo:~# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php-n
45:define('ZBX_GRAPH_FONT_NAME',      'msyh'); // font file name
93:define('ZBX_FONT_NAME', 'msyh');




      E、启动zabbix-server重启apache
1
2
root@demo:~# service zabbix-server start
root@demo:~# service apache2 restart





    4、进入web界面初始化设置      打开http://172.28.0.187/zabbix,默认的用户名为Admin,密码为zabbix,【注意大小写】   
二、编译安装agent,配置后重新打包
    一、下载源码包
      zabbix官网给出的源码包将server、agent、proxy都放在了一个包中,所以安装的时候得注意      在download中找到sources,选择3.0的源码包进行下载
    二、安装前准备
      这里我要编译安装并打包agent,所以要做一些准备工作,因为是第一台编译安装,所以最好选择没有使用过的debian8主机      A、安装gcc
1
root@demo:~/zabbix-3.0.2# apt-get install gcc




      B、安装make

1
root@demo:~/zabbix-3.0.2# apt-get install make




      C、更改ruby源安装fpm,这里安装fpm是为了后续制作deb包做准备

1
2
3
4
5
root@demo:~# apt-get install ruby-dev rubygems
root@demo:~# gem sources -a https://ruby.taobao.org/
root@demo:~# gem sources -r https://rubygems.org/
root@demo:~# gem sources -l
root@demo:~# gem install fpm




    三、解压并进行安装和打包前配置      A、解压源码包

1
root@demo:~# tar -xzvf zabbix-3.0.2.tar.gz




      B、安装前配置

1
2
3
4
root@demo:~/zabbix-3.0.2# ./configure --prefix=/usr/local/zabbix--sysconfdir=/usr/local/etc--enable-agent --disable-server --disable-proxy
#--prefix=    安装目录
#--sysconfdir=    配置文件目录
#--enable-agent --disable-server --disable-proxy    安装agent不安装server和proxy




      C、打包前配置,这里因为公司的标准化要求,所以agent都安装到/tmp/installdir中

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
#创建临时目录
root@demo:~/zabbix-3.0.2# mkdir -p /tmp/installdir/etc/init.d/
root@demo:~/zabbix-3.0.2# mkdir -p /tmp/installdir/etc/profile.d/

#将编译后的源码包的zabbix-agent文件复制出来
root@demo:~/zabbix-3.0.2# cp -a /root/zabbix-3.0.2/misc/init.d/debian/zabbix-agent /tmp/installdir/etc/init.d/zabbix_agentd

#修改启动脚本
root@demo:~/zabbix-3.0.2# vim /tmp/installdir/etc/init.d/zabbix_agentd
NAME=zabbix_agentd
DAEMON=/usr/local/zabbix/sbin/${NAME}
DESC="Zabbix agentd"
PID=/tmp/$NAME.pid

#创建环境变量脚本
root@demo:~# vim /tmp/installdir/etc/profile.d/zabbix.sh
# zabbix init
export PATH=$PATH:/usr/local/zabbix/bin:/usr/local/zabbix/sbin

#创建安装后脚本,此脚本会在安装时自动添加zabbix用户,自动添加开机启动,前提是你得装了chkconfig
root@demo:~#vim /tmp/install_after.sh
#!/bin/bash
useradd -m -d /home/zabbix -s /bin/bash zabbix
echo 'zabbixALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers
host=`hostname`
sed -i "s%^Hostname=.*$%Hostname=$host%g" /usr/local/etc/zabbix_agentd.conf
source /etc/profile.d/zabbix.sh
chkconfig --add zabbix_agentd
chkconfig --level 35 zabbix_agentd on
exit 0

#创建卸载前脚本,此脚本会在卸载时清楚残留的脚本,zabbix用户删除没有写进去,有需要的自己写
root@demo:~#vim /tmp/remove_after.sh
#!/bin/bash
rm -rf /etc/init.d/zabbix_agentd
rm -rf /etc/profile.d/zabbix.sh
rm -rf /var/lib/dpkg/info/zabbix-agentd*
source /etc/profile
exit 0




    四、编译安装和修改配置文件
      A、编译安装到指定目录

1
2
root@demo:~#cd /root/zabbix-3.0.2
root@demo:~/zabbix-3.0.2#make install DESTDIR=/tmp/installdir/




      B、修改配置文件

1
2
3
4
5
6
7
root@demo:~/zabbix-3.0.2# vim /tmp/installdir/usr/local/etc/zabbix_agentd.conf
#修改一下几项
Server=172.28.0.187    #web server服务器地址
ServerActive=172.28.0.187    #这里再次填入web server服务器地址,为了以后主动上传
HostnameItem=system.hostname    #因为是要批量部署,所以这里一定要修改以获取主机名,
Include=/usr/local/etc/zabbix_agentd.conf.d/    #这里用于放置自定义的key
UnsafeUserParameters=1    #这里改成1才会启动自定义key




    五、使用fpm打包
1
2
3
4
5
6
7
root@demo:/tmp# fpm -s dir -t deb -n zabbix_agentd -v 3.0.2 --iteration 1+wheezy -C /tmp/installdir/ -p /root/ --description 'zabbix_agentd deb' --post-install /tmp/install_after.sh --post-uninstall /tmp/remove_after.sh
#-s指定源类型
#-C指定打包路径
#-p指定包输出路径
#--description包描述
#--post-install安装包完成后运行的脚本
#--post-uninstall卸载包之前运行的脚本




    六、将打包好的deb文件部署在需要监控的主机上

1
2
3
4
#安装
root@demo:~# dpkg -i zabbix-agentd_3.0.2-1+wheezy_amd64.deb
#启动agentd
root@demo:~# service zabbix_agentd start




    这里需要注意的是,你用来编译安装并打包的服务器如果agent没有启动,请先卸载再用你打包好的deb文件安装一遍,因为在编译的那台服务器上并没有运行刚才我们写的安装前脚本,所以没有zabbix用户,也没有设置开机启动,所以建议最好用deb包重装一遍。    批量部署agent包,建议使用ansible。

三、创建模版并应用到主机    一、创建主机

二、创建主机组

    主机组中放入了2台主机,一台是web server本身一台是mysql

三、创建模版

    也可以将网上的模版导入修改,这里我手动创建一个

    四、创建应用集


    五、创建监控项





    六、创建触发器

    这个表达式的意思是iowait的值在30分钟内大于30%,就报警


    七、创建图形

    由于数量很多,我只创建了2个做事例

    这样就把zabbix的web server和mysql的剩余磁盘和cpu iowait监控起来了
    可以看到刚才创建的模版已经成功应用了。




页: [1]
查看完整版本: debian8下安装配置部署zabbix3.0