设为首页 收藏本站

运维网

查看: 419|回复: 1

[经验分享] debian8下安装配置部署zabbix3.0

[复制链接]

尚未签到

发表于 2018-5-14 12:46:24 | 显示全部楼层 |阅读模式
一、安装配置zabbix server

    web server服务器:172.28.0.187
    mysql服务器:172.28.0.237
    1、安装web server(172.28.0.187)
        A、官方文档

    zabbix官方提供了基于packages和编译安装方式的安装文档
    DSC0000.png
    DSC0001.png
    DSC0002.png
    这里server我使用package方式安装,agent使用源码编译的方式安装,因为server只有一台,而agent有很多台,需要对安装好的agent修改配置并重新打包,以方便后期批量部署。

    zabbix的package中有release包,因为zabbix server需要mysql,apache,php,而release包安装的方式会自动解决依赖关系。
        B、release包下载
DSC0003.png
    DSC0004.png
    DSC0005.png
    DSC0006.png
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仓库

root@demo:~# dpkg -i zabbix-release_3.0-1+jessie_all.deb        D、更新apt仓库

root@demo:~# aptitude update        E、安装zabbix-server-mysql和zabbix-frontend-php
    安装过程中请确保连接互联网,仓库的源建议用debian官方源,这里server-mysql会自动解决mysql的依赖关系安装mysql,frontend-php会解决apache和php的依赖关系
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用户,所以需要先切换用户
root@demo:~# su - mysql
root@demo:~# mysql        B、创建zabbix表,编码为utf8

mysql> create database zabbix character set utf8 collate utf8_bin;        C、创建一个zabbix用户并给zabbix用户授权zabbix表

    授权范围为全网,用户为zabbix密码为123321qQ
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by '123321qQ';    授权范围为本地,用户为zabbix密码为123321qQ
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '123321qQ';        D、刷新mysql权限

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

#将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#切换到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
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中的时区
root@demo:~# vim /etc/apache2/conf-enabled/zabbix.conf
#找到以下行注释取消,改为如下,因为我这里是重庆,所以写的是重庆,如果是其他地方可以用别的
php_value date.timezone Asia/Chongqing        C、设置语言为中文
root@demo:~# vim /usr/share/zabbix/include/locales.inc.ph
#修改如下行   
'zh_CN' => ['name' => _('Chinese (zh_CN)'),     'display' => true],        D、解决中文乱码问题

    在Windows中打开运行,输入fonts
    DSC0007.png
    DSC0008.png
    不需要重命名
    将文件上传到/usr/share/zabbix/fonts/目录中
    DSC0009.png
#查看字体配置
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
root@demo:~# service zabbix-server start
root@demo:~# service apache2 restart   

    4、进入web界面初始化设置
        打开http://172.28.0.187/zabbix,默认的用户名为Admin,密码为zabbix,【注意大小写】
    DSC00010.png
   

二、编译安装agent,配置后重新打包


    一、下载源码包

        zabbix官网给出的源码包将server、agent、proxy都放在了一个包中,所以安装的时候得注意
        在download中找到sources,选择3.0的源码包进行下载

DSC00011.png
    二、安装前准备

        这里我要编译安装并打包agent,所以要做一些准备工作,因为是第一台编译安装,所以最好选择没有使用过的debian8主机
        A、安装gcc
root@demo:~/zabbix-3.0.2# apt-get install gcc        B、安装make

root@demo:~/zabbix-3.0.2# apt-get install make        C、更改ruby源安装fpm,这里安装fpm是为了后续制作deb包做准备

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、解压源码包

root@demo:~# tar -xzvf zabbix-3.0.2.tar.gz        B、安装前配置

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中

#创建临时目录
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 'zabbix  ALL=(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、编译安装到指定目录

root@demo:~#cd /root/zabbix-3.0.2
root@demo:~/zabbix-3.0.2#  make install DESTDIR=/tmp/installdir/        B、修改配置文件

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打包
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文件部署在需要监控的主机上

#安装
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。



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


DSC00012.png
DSC00013.png DSC00014.png


二、创建主机组


DSC00015.png


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


DSC00016.png
DSC00017.png


三、创建模版


DSC00018.png


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


DSC00019.png


    四、创建应用集



DSC00020.png
DSC00021.png
DSC00022.png
DSC00023.png


    五、创建监控项



DSC00024.png
DSC00025.png
DSC00026.png
DSC00027.png
DSC00028.png
DSC00029.png


DSC00030.png



DSC00031.png
DSC00032.png


    六、创建触发器


DSC00033.png
DSC00034.png
DSC00035.png
DSC00036.png
DSC00037.png


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


DSC00038.png


DSC00039.png
DSC00040.png


    七、创建图形


DSC00041.png
DSC00042.png
DSC00043.png


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


DSC00044.png


    这样就把zabbix的web server和mysql的剩余磁盘和cpu iowait监控起来了


DSC00045.png
DSC00046.png
    可以看到刚才创建的模版已经成功应用了。














  

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

点击关注更多内容
累计签到:1 天
连续签到:1 天
发表于 2018-6-11 22:28:54 | 显示全部楼层
很好,很强大

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

关注运维网官方微信X

关注运维网官方微信

扫描二维码关注运维网官方微信,最新一手资源尽在官方微信!快快关注我们吧...

扫描微信二维码查看详情

客服 E-mail:kefu@yunvn.com

本站由青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2018

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


独家合作伙伴: 青云cloud

快速回复 返回顶部 返回列表