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

zabbix服务端的安装手册

1.zabbix简介  

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
    zabbix由zabbix server与可选组件zabbix agent两部门组成。
    zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
    zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视

2.zabbix安装

2.1 zabbix WEB环境搭建

    zabbix的安装需要LAMP或者LNMP环境,为了方便直接用yum安装LAMP环境。
yum install mysql-server httpd php
    需要其它的软件包
yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm
2.2 zabbix 数据库设置

    zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。

grant all privileges on zabbix.* to zabbixuser@'ip' identified by 'zabbix#$%';次ip为zabbix服务器的IP地址。

    为了方便,本环境采用yum安装mysql数据库,并且和zabbix在同一台服务器上面。

启动数据库
/etc/rc.d/init.d/mysqld start
登录数据库 初始化数据库密码为空
/usr/bin/mysql -uroot -p
设置root账户的密码
mysql> use mysql;
mysql>update user set password=password('mysql') where user='root';
mysql>flush privileges;
mysql>create database zabbix character set utf8;
mysql>exit;

2.3安装zabbix服务


增加zabbix用户和组
/usr/sbin/groupadd zabbix
/usr/sbin/useradd -g zabbix -m zabbix
解压zabbix软件包,zabbix的软件包可在官方网站 http://www.zabbix.com/download.php可下载
[root@mail opt]# tar -zxvf zabbix-1.8.8.tar.gz
cd zabbix-1.8.8
导入数据库表
cat ./create/schema/mysql.sql |mysql -uroot -pmysql zabbix
cat ./create/data/data.sql |mysql -uroot -pmysql zabbix
cat ./create/data/images_mysql.sql |mysql -uroot -pmysql zabbix
编译安装zabbix
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
编译报错checking for main in -lmysqlclient ... no
yum 安装mysql-devel即可
make
make install

添加服务端口
vim /etc/services
zabbix-agent    10050/tcp                       # Zabbix Agent
zabbix-agent    10050/udp                       # Zabbix Agent
zabbix-trapper  10051/tcp                       # Zabbix Trapper
zabbix-trapper  10051/udp                       # Zabbix Trapper

添加配置文件
[root@mail ~]# mkdir -p /etc/zabbix
[root@mail ~]# cp /opt/zabbix-1.8.8/misc/conf/* /etc/zabbix/
[root@mail ~]# chown -R zabbix:zabbix /etc/zabbix

修改server配置文件,添加zabbix数据库密码
vim /etc/zabbix/zabbix_server.conf
DBPassword=******                          指定zabbix数据库密码

修改Agentd配置文件,更改HOSTNAME为本机的hostname
vim /etc/zabbix/zabbix_agentd.conf

添加web前段php文件
[root@mail zabbix-1.8.8]# cd frontends/
[root@mail frontends]# cp -rf php/ /var/www/html
[root@mail frontends]# cd /var/www/html/
[root@mail html]# mv php/ zabbix
[root@mail html]# chown -R zabbix:zabbix zabbix

web前端安装配置
修改PHP相关参数
vim /etc/php.ini
max_execution_time = 300  
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2

重启apache服务
[root@mail html]# /etc/init.d/httpd restart
停止 httpd:                                               [确定]
启动 httpd:                                               [确定]

    在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix,按提示点击下一步下一步;Step3如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。

    Step4:需要输入mysql数据库root的密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权。

    Step6:按提示下载zabbix的配置文件到服务器的/var/www/html/zabbix/conf目录里面,配置文件的名字必须保持zabbix.conf.php不变,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。

3.启动zabbix服务
在zabbix安装目录下面可以直接启动
[root@mail ~]#/usr/local/zabbix/sbin/zabbix_server start
[root@mail ~]# netstat -antlp |grep "zabbix"
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      20244/zabbix_server

4.设置开启自动启动
vim /etc/rc.d/rc.local  最后添加下面两行
/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start
    

    至此,zabbix server端的安装完毕。

    说明:新版zabbix2.0版本已经发布,安装过程大致相同,不同的是在导入数据表的时候和之前的版本有点区别,在zabbix2.0的解压目录里面/software/zabbix-2.0.0/database/mysql,可以看到下面三张表。

    用cat命令导入这三张表到zabbix数据库即可。

 

相关文章:

  • PerformanceCountersHelper
  • Linux / Unix Command: va_arg
  • Oracle的基本使用一
  • 鼠标浮上 图片边框变色
  • SQLmap工具介绍及其使用
  • 51cto,这是怎么回事?
  • jquery 选择时间(小时)区间(一)
  • 五大浏览器内核
  • C# DateTime 月第一天和最后一天 取法
  • getLayoutInflater().inflate .
  • 前端lvs+keepalived 后端 lnmp 群集 mysql主从+sersync
  • 做好一个高效的程序员吧
  • OSPF各种LSA的比较
  • 数据库热备容灾方案(上海某医院)
  • Cygwin sshd Apache sshd
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 2017-09-12 前端日报
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Docker下部署自己的LNMP工作环境
  • github指令
  • input的行数自动增减
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • java中的hashCode
  • js操作时间(持续更新)
  • Linux下的乱码问题
  • Shadow DOM 内部构造及如何构建独立组件
  • springMvc学习笔记(2)
  • Vue UI框架库开发介绍
  • Vue组件定义
  • 从setTimeout-setInterval看JS线程
  • 读懂package.json -- 依赖管理
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 警报:线上事故之CountDownLatch的威力
  • 双管齐下,VMware的容器新战略
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 微信小程序开发问题汇总
  • 在Unity中实现一个简单的消息管理器
  • No resource identifier found for attribute,RxJava之zip操作符
  • 2017年360最后一道编程题
  • k8s使用glusterfs实现动态持久化存储
  • ​插件化DPI在商用WIFI中的价值
  • # .NET Framework中使用命名管道进行进程间通信
  • ###项目技术发展史
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (12)目标检测_SSD基于pytorch搭建代码
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (二)hibernate配置管理
  • (规划)24届春招和25届暑假实习路线准备规划
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • **PHP分步表单提交思路(分页表单提交)
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国