文档章节

Zabbix 2.4.0 安装、配置

kt431128
 kt431128
发布于 2015/05/04 10:04
字数 2427
阅读 311
收藏 2

一、Zabbix 简介

    Zabbix 是一个企业级的开源分布式监控软件,同水准的还有 Cacti 、Nagios 。Zabbix 通过 C/S(Client/Server 即 客户端/服务器端)架构模式采集数据,B/S(Brower/Server 即 浏览器/服务器端)架构模式展示和配置。Zabbix 需运行在 LAMP 环境下,Agent 安装在被监控设备上,被监控设备上的数据由代理收集后传到服务器端,由服务器端展示;有两种代理方式为:SNMP(支持 SNMP 协议的设备,大部分设备都支持 SNMP 协议)、IPMI(主要应有于设备的物理性能监控,如:温度、风扇转速等)

二、安装 Zabbix

1、这里我将 Zabbix 安装在编译的 LAMP 环境下。
2、下载 Zabbix 源码包 (直接去官网下载比较好)
3、安装依赖包
[root@localhost  ~]# yum -y install ntp net-snmp net-snmp-devel libcurl-devel
4、修改 Mysql 默认编码 ( 如果已经有库在运行的话,建议创建库的时候单独指定编码 )
[root@localhost  ~]# vim /etc/my.cnf
[mysqld]
character_set_server = utf8
 # 在此区域加入
[root@localhost  ~]# service mysqld start
Starting MySQL.... SUCCESS!
[root@localhost  ~]# chkconfig --add mysqld
[root@localhost  ~]# chkconfig --level 35 mysqld on
5、更新系统时间
[root@localhost ~]# ntpdate us.pool.ntp.org | hwclock -w # 最好做任务计划
[root@localhost ~]# crontab -l
10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | hwclock -w > /dev/null 2>&1
[root@localhost ~]# service crond restart
[root@localhost ~]# chkconfig --add crond
[root@localhost ~]# chkconfig --level 35 crond on
6、安装 Zabbix
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -r -s /sbin/nologin -g zabbix zabbix
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar zxf zabbix-2.4.0.tar.gz
[root@localhost src]# cd zabbix-2.4.0
[root@localhost zabbix-2.4.0]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl
## 编译参数说明
--enable-server      安装 zabbix server
--enable-proxy        安装 zabbix proxy (用来设定分布式部署)
--enable-agent       安装 zabbix agent  (不监控本机可以不装)
--with-mysql           使用 mysql 数据库
--with-net-snmp    支持 snmp 协议 (用来监控各类网络设备)
--with-libcurl           支持 curl (用户 web 服务监控)
[root@localhost zabbix-2.4.0]# make install
7、创建并导入数据库
[root@localhost ~]# mysql -u root -p123456
mysql> create database zabbix; ( create database zabbix character set utf8; )
mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
mysql> use zabbix;
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/schema.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/images.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/data.sql
mysql> show tables;
mysql> quit
8、定义服务端口
[root@localhost ~]# vim /etc/services
zabbix-agent    10050/tcp       # zabbix-agent
zabbix-agent    10050/udp
zabbix-trapper  10051/tcp      # zabbix-trapper
zabbix-trapper  10051/udp
9、配置服务
[root@localhost ~]# cd /usr/local/src/zabbix-2.4.0
[root@localhost zabbix-2.4.0]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@localhost zabbix-2.4.0]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@localhost zabbix-2.4.0]# cp -R frontends/php/ /usr/local/apache/htdocs/zabbix
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log        # 定义日志文件   默认有
DBName=zabbix                                  # 定义数据库名   默认有
DBUser=zabbix                                    # 定义数据库用户 默认有 (为了安全单独添加此库用户)
DBPassword=zabbix                          # 定义数据库密码 ( 生产环境你懂的 )
10、修改启动脚本中 zabbix 的安装目录
[root@localhost ~]# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
[root@localhost ~]# vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
11、启动服务并加入开机自动
[root@localhost ~]# /usr/local/apache/bin/apachectl start
[root@localhost ~]# chkconfig --add zabbix_server
[root@localhost ~]# chkconfig --add zabbix_agentd
[root@localhost ~]# chkconfig --level 35 zabbix_server on
[root@localhost ~]# chkconfig --level 35 zabbix_agentd on
[root@localhost ~]# service zabbix_server start
[root@localhost ~]# service zabbix_agentd start
<===========================================================================>
# 启动报错
Starting zabbix_server:  /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: 
libmysqlclient.so.18: cannot open shared object file: No such file or directory                         [失败]

# 解决方法
[root@localhost ~]# find / -name libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18
[root@localhost ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
<===========================================================================>
[root@localhost ~]# netstat -anpt | grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      10519/zabbix_agentd
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      10449/zabbix_server

# 防火墙添加 80 端口。

三、使用浏览器进行初始化

访问: http://192.168.1.80/zabbix

NEXT (只显示主版本号、次版本号,修订号不显示)

发现有好多 Fail 的地方
<===========================================================================>
解决方法:
[root@localhost ~]# vim /usr/local/php/php.ini
post_max_size = 16M              # 原 8M
max_execution_time = 300     # 原 30
max_input_time = 300             # 原 60
date.timezone = Asia/Shanghai     # 将前面 ; 号去掉,添加时区为 Asia/Shanghai
## 这个时候重启 apache 得到下图

以及下面还有一个  php gettext  off
# 这些情况是:没有相应的 php 扩展,如果 php 是 yum 安装的,只需要 yum -y install php-mysqli php-bcmath php-gettext 即可;
如果是编译安装的,就要做以下操作:
1、找到 php 的源码包
[root@localhost src]# cd php-5.4.13/
2、进入相应扩展目录
[root@localhost php-5.4.13]# cd ext/mysqli  和 /bcmath/ 和 /gettext/
3、执行 phpize 命令
[root@localhost mysqli]# /usr/local/php/bin/phpize
4、生成 configure 后
[root@localhost mysqli]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config # 这个 --with-mysqli 只有添加 mysqli 扩展才用,其他两项只写第一个 with
[root@localhost mysqli]# make ; make install
5、创建引用目录
[root@localhost ~]# mkdir /usr/lib64/extensions
6、将其 cp 到目录
[root@localhost ~]# cp /usr/local/php/lib/php/extensions/no-debug-zts-20100525/mysqli.so 和 bcmath.so 和 gettext.so /usr/lib64/extensions/
7、修改 php.ini
[root@localhost ~]# vim /usr/local/php/php.ini
extension_dir = /usr/lib64/extensions/
extension = mysqli.so
extension = bcmath.so
extension = gettext.so

<===========================================================================>
# 这些操作完 重启 apache 即可,得到下图:

NEXT

这里设置连接数据库,密码为 zabbix 可以看到测试通过 NEXT

NEXT

汇总信息 NEXT

这里提示失败,我们点击下载配置文件,然后上传到 Zabbix 服务器相应目录(/usr/local/apache/htdocs/zabbix/conf/)点重试就好了 
NEXT


现在进入登陆页面 用户名  admin  密码  zabbix  Sign in

这就是登陆后的第一个页面

四、修改语言类型为中文

点击右上--Profile--Language--(发现并没有中文选项)

这是因为版本的问题 ,2.0 有中文选项 2.2.x 系列以后没有显示出来 需要修改一个文件
[root@localhost ~]# vim /usr/local/apache/htdocs/zabbix/include/locales.inc.php
54   'zh_CN' => array('name' => _('Chinese (zh_CN)'),     'display' => false),
# 我们需要将上面的 false 修改为下面的 true ,刷新页面就可以了。
54   'zh_CN' => array('name' => _('Chinese (zh_CN)'),     'display' => true),

然后点击 Update 就可以看到我们大中华文字页面了 (顺便在 theme 项可以换个背景颜色)

五、配置文件介绍

[root@localhost etc]# pwd
/usr/local/zabbix/etc                    ## 配置文件存放路径
[root@localhost etc]# ls
zabbix_agent.conf    zabbix_agentd.conf    zabbix_proxy.conf    zabbix_server.conf
zabbix_agent.conf.d  zabbix_agentd.conf.d  zabbix_proxy.conf.d  zabbix_server.conf.d

## zabbix_server.conf   负责服务器端的设定( 主配置文件 )
     zabbix_agent.conf    用于设置客户端代理参数( 不知道干嘛的 ,这文件坑了我两天时间 )
     zabbix_agentd.conf  这个文件才是被监控机要配置的文件( 别看错了 是这个 !!!)
     zabbix_proxy.conf     用于设定分布式部署( 配置代理 )
[root@localhost etc]# grep -v '#' zabbix_server.conf | grep -v ^$
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix                   # 密码需要手工添加一下,默认是被注释掉的

## zabbix_server.conf 有效配置
[root@localhost etc]# grep -v '#' zabbix_agentd.conf | grep -v ^$
LogFile=/tmp/zabbix_agentd.log
Server=192.168.1.80                            # 监控端主机 IP
ServerActive=192.168.1.80:10051     # 主动监控,监控端 IP 、端口
Hostname=192.168.1.80                    # 被监控端 IP
UnsafeUserParameters=1                 # 启动自定义脚本功能( 自定义 key )

## zabbix_agentd.conf 有效配置

改好这些,重启 zabbix_agentd , 去前端将默认主机删除 ,添加新主机

六、监控 Linux 主机

1、监控 zabbix_server 本机

Configuration --> Hosts --> Create host -->


稍等一会 就能看到有数据生成

为此监控项生成图型
Configuration --> Hosts --> Create host --> 点击你要选择的主机中的 Graphs --> Create graph 



<==================================================================================================================================>

监控一台 Linux 服务器流程(非本机)

1、创建用户、组
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -s /sbin/nologin -g zabbix zabbix
2、将 zabbix 安装包上传到被监控服务器(跟监控端为同一个安装包)
3、安装 zabbix_agentd
[root@localhost src]# tar zxf zabbix-2.4.0.tar.gz
[root@localhost src]# cd zabbix-2.4.0
[root@localhost zabbix-2.4.0]# ./configure --prefix=/usr/local/zabbix --enable-agent
[root@localhost zabbix-2.4.0]# make install
[root@localhost zabbix-2.4.0]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@localhost zabbix-2.4.0]# vim /etc/init.d/zabbix_agentd     ## 修改启动脚本
 22         BASEDIR=/usr/local/zabbix        # BASEDIR=实际安装路径
[root@localhost ~]# grep -v '#' /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v ^$
LogFile=/tmp/zabbix_agentd.log         # 指定日志存放位置(默认)
Server=192.168.1.80                             # 添加监控服务器 IP
ServerActive=192.168.1.80:10051      # 添加监控服务器 IP 、端口
Hostname=192.168.1.81                     # 本机 IP
UnsafeUserParameters=1                  # 启动自定义脚本功能( 自定义 key )

4、添加服务端口
[root@localhost ~]# vim /etc/services
zabbix-agent    10050/tcp               # zabbix agent
zabbix-agent    10050/udp
zabbix-trapper  10051/tcp               # zabbix trappe
zabbix-trapper  10051/udp

5、启动 zabbix_agentd 并加入开机启动
[root@localhost ~]# service zabbix_agentd start
Starting zabbix_agentd:                                    [确定]
[root@localhost ~]# chkconfig --add zabbix_agentd
[root@localhost ~]# chkconfig --level 35 zabbix_agentd on
[root@localhost ~]# netstat -anp | grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      7896/zabbix_agentd
6、防火墙开放端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
7、去 web 创建主机
8、Monitoring --> Latest data ( 可以查看监控项有没有生成数据 )


<==================================================================================================================================>

制作自己的模板
1、Configuration --> Templates --> Create template
Template name [ 自定义模板名称 ]
Groups In groups [ 加入到 Templates 组 ]
Add 添加 完成模板创建
2、Configuration --> Templates --> 选择刚创建的模板后的 Applications --> Create application
Name [ 自定义应用名称 ] # 每个应用中都有不同的监控项,可以理解为这是一个分类功能
Add 完成应用创建
3、Configuration --> Templates --> 进入刚创建的模板后的 Applications --> 选择刚创建的应用后面的 Items --> Create item
完成创建
4、Configuration --> Templates --> 选择刚创建的模板后的 Graphs --> Create graph -->
Name [ 自定义为哪个监控项创建的图形名称 ]
Graph type [ Normal 常规图表,值为线条;Stacked 叠图,显示填充区域;Pie 饼图;Exploded 裂开的饼图 ]
Show legend √ 显示图例
Show working time √ 显示工作时间,非工作时间背景为灰色
Show triggers √ 显示触发器,红线表示
Items [ Add 监控项,可以添加多个监控项,他们的值将显示在同一张图中;例如:网卡 in/out 双方向流量 ]
Function [ all min avg max 显示值,四个选项大家都知道,但是不生效 坑 ]
Draw style [ Line 线条绘图;Filled region 绘制填充区域;Bold line 粗线画图;Dot 以点表示;Dashed line 虚线绘图 ]
Add 添加完成

<==================================================================================================================================>

## 对于 Linux 网卡流量的监控
Items 的制作


Network in 为网卡进方向流量、out 方向只需将 Key net.if.in[if,<mode>] 换为 net.if.out[if,<mode>]即可
Graphs 的制作




本文转载自:http://blog.csdn.net/wangxiaoqiang888/article/details/39582145

kt431128
粉丝 14
博文 149
码字总数 68823
作品 0
海淀
程序员
私信 提问
zabbix agentd windows安装

1、 下载与解压 地址: http://www.zabbix.com/downloads/2.4.0/zabbixagents2.4.0.win.zip 解压zabbixagents2.4.0.win.zip conf目录存放是agent配置文件 bin文件存放windows下32位和64位安装......

徐学良
2015/07/30
2.1K
0
Logstash整合zabbix 过滤Nginx 错误日志并进行报警

通过logstash过滤nginx-error日志,筛选日志中比较严重报错,并进行报警。 由于网络上很多帖子都是要么写了怎么筛选报错,要么就只翻译了logstash-zabbix-output插件的使用说明,并没有一个完...

千_面
2017/05/17
0
0
Zabbix 自动化安装脚本--最新2.4.0稳定版

自己写的,一共是两个脚本,分别是服务端和客户端,为了工作方面方便而写的,没有什么花哨的东西,直接可以拿来用 首先复制该脚本,然后用文本编辑器编辑后,上传到服务器的root目录,赋予权限...

jinyan2049
2018/07/04
0
0
Zabbix 2.3.5 (beta) 发布,分布式系统监视

Zabbix 2.3.5 (beta) 发布,此版本相当于是 Zabbix 2.4 的第二个 beta 版本。 Zabbix 2.3.5 现已提供下载,此版本的更新内容可以看这里。 此版本不适用于生产环境,只是个 beta 版本! 升级指...

oschina
2014/09/05
707
0
Zabbix 安装及微信短信提醒

Zabbix简介 Zabbix 近几年得到了各大互联网公司的认可,当然第一点归功与它强大的监控功能,第二点免费开源也得到了广大用户的青睐。Zabbix 能将操作系统中的绝大部分指标进行监控,比如(C...

OneAPM蓝海讯通
2015/09/16
173
1

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 年迈渔夫遭黑帮袭抢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享Elvis Presley的单曲《White Christmas》: 《White Christmas》- Elvis Presley 手机党少年们想听歌,请使劲...

小小编辑
今天
1K
16
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
12
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部