当前位置: 首页 > news >正文

Zabbix3.x 服务安装、配置及常见问题处理

为什么80%的码农都做不了架构师?>>>   hot3.png

基于 CentOS6.x + Zabbix3.2.3(最新开发版,稳定版是 3.0 LTS)。

本文的 zabbix 采用编译安装,对 web环境及 zabbix 配置更可控,也便于统一管理,目录结构如下:

  • /alidata/server web 程序安装目录,包括 PHP、Apache、MySQL
  • /alidata/www web 根目录
  • /usr/local/zabbix zabbix 程序安装目录

本文用到的 LAMP 环境是采用阿里云上的一键安装包编译安装,可点击此处下载

注意:本文仅用于学习、演示,将【server/agent/前端】都装在了同一台机器上,实际使用时请根据服务器环境进行修改完善。

1.下载源码包

  • 官网首页:http://www.zabbix.com
  • 程序地址:http://www.zabbix.com/download (如下图所示)

Zabbix源码说明

下载、解压并进入源码目录(下面的地址如果速度较慢,可直接浏览器或软件下载好后,上传到服务器)
# wget -c 'https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz'
# tar -zxvf zabbix-3.2.3.tar.gz
# cd zabbix-3.2.3

2.安装 zabbix 服务

2.1.数据库配置(主要用于 server 端存储监控指标数据,供前端展现、分析)

# mysql -uroot -pfea7615808
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.21-log MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix';
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO "zabbix"@"%" IDENTIFIED BY "zabbix" WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO "zabbix"@"localhost" IDENTIFIED BY "zabbix" WITH GRANT OPTION;
mysql> flush privileges;

mysql> quit;
Bye
# mysql -uroot -pfea7615808 zabbix < database/mysql/schema.sql
# mysql -uroot -pfea7615808 zabbix < database/mysql/images.sql
# mysql -uroot -pfea7615808 zabbix < database/mysql/data.sql

2.2.安装 zabbix-server(监控服务端)、zabbix-agentd(被监控客户端)

安装依赖库:

# yum install -y unixODBC-devel net-snmp-devel OpenIPMI-devel

新建 zabbix 独立用户,编译、安装

# groupadd zabbix
# useradd -g zabbix zabbix
# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --prefix=/usr/local/zabbix
# make
# make install

编译测试
echo $?;

2.3.修改对应的配置文件

服务端
# vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
客户端
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server ----- 这里对应在 zabbix 前端创建 host 时要填写的 Host name

2.4.创建日志文件

# touch /tmp/zabbix_server.log
# touch /tmp/zabbix_agentd.log
# chmod 777 /tmp/zabbix_*.log

2.5.启动

启动服务端
# /usr/local/zabbix/sbin/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

解决:

# ll /alidata/server/mysql/lib/|grep libmysqlclient.so.18
# echo "/alidata/server/mysql/lib" >>/etc/ld.so.conf
# ldconfig

重新启动

启动客户端
# /usr/local/zabbix/sbin/zabbix_agentd

2.6.验证服务是否启动成功

$ netstat -tlunp|grep 1005*
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      24806/zabbix_agentd
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      21992/zabbix_server

3.安装 zabbix 前端

3.1. 将 zabbix 源码包中 frontends/php/ 下的所有文件拷贝到 web 目录下

# mkdir -p /alidata/www/zabbix
# cd zabbix-3.2.3
# cp -rp frontends/php/* /alidata/www/zabbix/
# chmod -R 755 /alidata/www/zabbix/

3.2.浏览器打开对应的 web 访问地址,开始安装

例如:http://192.168.137.11/zabbix/setup.php

步骤:

  • 一:欢迎界面
  • 二:依赖检查,建议所有检查项目都 OK 再进入下一步,包括 failwarning 的项
  • 三:数据库配置
  • 四:Zabbix server 配置(IP地址、端口号)
  • 五:开始安装前的配置预览
  • 六:完成安装

整个配置过程,主要是 zabbix 依赖检查(PHP 相关参数配置和扩展)和生成一个 zabbix.conf.php 配置文件。

第六步之后如果提示无法创建配置文件 Cannot create the configuration file. 一般是用户或目录权限的问题,

  • 方法一:修改 zabbix 目录的权限,如:chmod -R 777 /alidata/www/zabbix/
  • 方法二:根据给出的操作步骤,直接下载配置好的文件,并上传到 zabbix 前端对应的配置目录下。

3.3.登录前端

地址:http://192.168.137.11/zabbix

默认用户名 Admin 密码 zabbix

登录之后,在 Configuration > Hosts 下可查看默认已经添加的主机

4.zabbix 服务管理脚本及自启动设置

服务管理脚本(start/stop/restart)已经内置在 zabbix 的源文件目录下,如:..../zabbix-3.2.3/misc/init.d,这里包含了 Linux 不同发行版的脚本,根据实际环境选择合适的,然后如下操作:

4.1. 拷贝到系统 init.d 目录并修改相关安装参数

# cd ..../zabbix-3.2.3/misc/init.d
# cp fedora/core/zabbix_* /etc/init.d/

修改 server 端启动脚本
# vim /etc/init.d/zabbix_server
......
BASEDIR=/usr/local/zabbix ----- zabbix 安装目录
BINARY_NAME=zabbix_server ----- zabbix 二进制文件名称(对应 zabbix 安装目录 sbin/ 下的名称)
.....

修改 agent 端启动脚本
# vim /etc/init.d/zabbix_agentd
......
BASEDIR=/usr/local/zabbix
BINARY_NAME=zabbix_agentd
.....

4.2.启动测试

# service zabbix_agentd restart 或 /etc/init.d/zabbix_agentd rstart
Shutting down zabbix_agentd:                               [  OK  ]
Starting zabbix_agentd:                                    [  OK  ]

4.3.加入自启动

# chkconfig --add zabbix_server
# chkconfig --add zabbix_agentd
# chkconfig --level 345 zabbix_server on
# chkconfig --level 345 zabbix_agentd on
# chkconfig --list|grep zabbix*
zabbix_agentd   0:off   1:off   2:off   3:on    4:on    5:on    6:off
zabbix_server   0:off   1:off   2:off   3:on    4:on    5:on    6:off

5.常见问题

5.1.添加新的 zabbix 客户端(被监控端)

每添加一台要监控的机器,只安装 zabbix-agent 即可,操作如下:

# groupadd zabbix
# useradd -g zabbix zabbix
# ./configure --enable-agent --prefix=/usr/local/zabbix
# make && make install

之后的修改配置文件、创建日志文件、启动的方法同上(2.2 至 2.6),需根据实际环境对部分参数进行修改。

5.2.安装 PHP 的 gettext 扩展

# cd /root/sh-1.5.5/php-5.5.7/ext/gettext     ----- 进入 PHP 源码包下
# /alidata/server/php-5.5.7/bin/phpize
# ./configure --with-php-config=/alidata/server/php-5.5.7/bin/php-config
# make
# make install
# echo "extension=gettext.so" >> /alidata/server/php-5.5.7/etc/php.ini
# tail /alidata/server/php-5.5.7/etc/php.ini     ----- 检查扩展是否追加进 PHP 扩展文件
# service httpd restart

5.3.前端切换中文显示

  • 登录之后,点击右上角用户图标

个人中心

  • 选择 Chinese (zh_CN)

选择中文

  • 单击底部 update 按钮保存,页面将自动刷新

5.4.图表中文乱码

图表中的乱码类似下图: 中文图表乱码

解决步骤:

  • 进入 C:\Windows\Fonts 中找到楷体(如下图),拷贝到桌面变为 simkai.ttf

楷体

  • 上传到服务器 zabbix 前端的字体目录下,我的是 /alidata/www/zabbix/fonts
  • 修改 zabbix 前端的配置文件,如下
# cd  /alidata/www/zabbix/
# sed -i 's/DejaVuSans/simkai/g' ./include/defines.inc.php
  • 刷新页面

如果经过上面的步骤还是存在乱码,有可能是创建数据的时候没指定 utf-8 编码,请参照上面 **2.1.数据库配置 **进行修改

转载于:https://my.oschina.net/antsky/blog/834043

相关文章:

  • Material Design学习之 Camera
  • Perl 获得当前路径
  • 【254】◀▶IEW-Unit19
  • windbg调试命令
  • Makefile经典教程(掌握这些足够)
  • inotify-tools命令使用讲解
  • mysql5.7.17主从同步配置
  • 『设计模式』之小试牛刀
  • callback和spring的MD5加密
  • this.getClass().getResource(String) 路径问题
  • Git基础之(十四)——分支管理——解决冲突
  • MySQL学习2 使用docker建立mysql服务
  • 算法笔记_035:寻找最小的k个数(Java)
  • Linux 文件系统 的 学习
  • eclipse中内存溢出java.lang.OutOfMemoryError: PermGen space解决
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • CSS 专业技巧
  • Docker下部署自己的LNMP工作环境
  • ES6系统学习----从Apollo Client看解构赋值
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Linux下的乱码问题
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Yii源码解读-服务定位器(Service Locator)
  • 猴子数据域名防封接口降低小说被封的风险
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端性能优化——回流与重绘
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 协程
  • 7行Python代码的人脸识别
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #14vue3生成表单并跳转到外部地址的方式
  • #NOIP 2014# day.2 T2 寻找道路
  • #Z0458. 树的中心2
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (rabbitmq的高级特性)消息可靠性
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)【Hibernate总结系列】使用举例
  • ./configure、make、make install 命令
  • .naturalWidth 和naturalHeight属性,
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .net 微服务 服务保护 自动重试 Polly
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)