774530750 发表于 2019-1-18 09:24:47

【Zabbix】02、Zabbix 安装

  

  一、Zabbix安装所需环境介绍
  1、硬件
http://s3.运维网.com/wyfs02/M00/82/CC/wKiom1dhFrzQg6MtAAI30sBBK9o500.png

  

  2、软件
  数据库:

http://s4.运维网.com/wyfs02/M01/82/CA/wKioL1dhGDLD2FBWAAKoLLdg3PA216.png


zabbix产生的数据主要由四部分组成:
  配置数据
  历史数据:50Bytes
  历史趋势数据: 128Bytes
  事件数据: 130Bytes


这里数据的大小是指每次采集的数据的大小


      可见zabbix对服务器的硬件配置要求有多低,现在的服务器一般都比上面最高配还来得高,
我所知道的100来台服务器,做基本的cpu、内存、硬盘、网卡流量等监控,长年累月下来大概60GB左右。


案例:
      100台服务器,每台服务器有30个监控项,每个监控项60秒刷新一次,需要多大的硬盘呢?
众所周知,zabbix基本都是通过web配置,这些配置数据也是存放到数据库里的,但是它对硬盘容量的要求基本可以忽略不计,zabbix对硬盘的决定性因素有4个,如下:
  

  每秒处理的数据量
  这个问题不说,大家也明白。这边的每秒只是一个平均值,例如我有3000个监控项,每60秒刷新一次,那么平均每秒有50(3000/60)个数据要处理。就是说每秒有50条数据要插入MySQL
  

  历史记录保存时间
      zabbix对每个监控项的值都要记录下来,这些记录一般保留几周到几个月,具体看你的配置了。每个值都需要暂用硬盘空间。假如一个数据你要保留30天,而且每秒有50个值要保留,那我们一共有129,600,000(30天*24小时*3600秒)*50个值,一条记录多大,由你的数据库引擎和你存储的数据类型来决定(浮点型,整形,字符型等等),一般来说一条记录需要占用50个字节(一个大概值),在这个案例中129,600,000个记录大约需要(129600000*50字节)6.5G的硬盘空间
  

  趋势数据保存时间
       什么是趋势数据呢?当你查看一周或者一月的图表,图表上看到的MAX/MIN/AVG/COUNT都是取自趋势数据,趋势数据一小时获取一次,一般情况下,趋势数据一条记录大概占用128字节,如果我们想保存5年趋势数据,3000个监控项需要2.4GB(3000个*24小时*356天*128字节)每年,5年一共16.8G
  

  事件记录保存时间
      报警、警告、恢复等等事情,一个事件大概占用130个字节,一般情况下不会太多,除非运维做的太糟糕,或者运维要求太严格,把阀值调的很低。假如这个运维今年本命年,既没拜佛有没烧香,更别说给服务器贴灵符,于是这一年每秒钟就有一个事件发生,那么事件这一年占用的数据空间为:1年*365天*24小时*3600秒*130字节大概为4.1G空间。
  

  数据库空间计算公式
zabbix配置:固定大小,一般 show databases;
+--------------------+
| Database         |
+--------------------+
| information_schema |
| mysql            |
| node2            |
| node5            |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.00 sec)
MariaDB [(none)]> create database zabbix;
Query OK, 1 row affected (0.03 sec)
### 授权一个用于zabbix连接mysqld的用户
MariaDB [(none)]> grant all on zabbix.* to 'zbxuser'@'192.168.10.%' identified by 'zbxpass';
Query OK, 0 rows affected (0.20 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database         |
+--------------------+
| information_schema |
| mysql            |
| node2            |
| node5            |
| performance_schema |
| test               |
| zabbix             |
+--------------------+
7 rows in set (0.00 sec)
### 导入数据
# cd /usr/share/doc/zabbix-server-mysql-2.4.8/
# ls
createupgrades                   # 创建数据库# 升级zabbix用来升级升级数据库的
# ls
data.sqlimages.sqlschema.sql    # 导入的顺序是schema imagesdata
### myslqd和zabbix-server没在同一台主机上时,安装mysql客户端导入到mysqld服务器上
# mysql zabbix -h192.168.10.2 -uzbxuser -p< schema.sql
Enter password:
# mysql zabbix -h192.168.10.2 -uzbxuser -pzbxpass < images.sql
# mysql zabbix -h192.168.10.2 -uzbxuser -pzbxpass < data.sql
# mysql zabbix -h192.168.10.2 -uzbxuser -pzbxpass
mysql> show databases;
+--------------------+
| Database         |
+--------------------+
| information_schema |
| test               |
| zabbix             |
+--------------------+
3 rows in set (0.00 sec)
mysql> use zabbix
Database changed
mysql> show tables;         # 可以看到生成了很多表
+-----------------------+
| Tables_in_zabbix      |
+-----------------------+
| acknowledges          |
| actions               |
| alerts                |
| application_template|
...  

4、修改zabbix-server的配置文件
# cd /etc/zabbix/
# ls
webzabbix_agentd.confzabbix_agentd.dzabbix_server.conf
# ls web
maintenance.inc.php
# ls zabbix_agentd.d
userparameter_mysql.conf
# grep -v '^#\|^$' zabbix_server.conf# 修改后的配置文件
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=192.168.10.2            # 如果myslqd是本机用localhost更好,
DBName=zabbix
DBUser=zbxuser
DBPassword=zbxpass
#DBSocket=/var/lib/mysql/mysql.sock         # mysqld不是本机要注释掉该项
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts      # 报警脚本的路径
ExternalScripts=/usr/lib/zabbix/externalscripts# 外部脚本的路径
#注意:还要根据自己的环境修改对应的配置选项,如数据库的端口,  

5、启动zabbix-server
# service zabbix-server start
Starting Zabbix server:                                    
# netstat -tuan   #
tcp      0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      17779/zabbix_server   # zabbix-server 监听在tcp10051端口

6、修改php配置文件中的时区
# vi /etc/php.ini
;date.timezone =
date.timezone = Asia/Shanghai


7、启动httpd,配置zabbix web界面
### yum安装zabbix-sever后会在httpd的配置文件中生成和zabbix相关的配置
# cd /etc/httpd
# ls
confconf.dlogsmodulesrun
# ls conf.d
php.confREADMEwelcome.confzabbix.conf
# service httpd start
Starting httpd:  

   在浏览器中输入http://192.168.10.6/zabbix就可以看到zabbix-web的安装界面
http://s3.运维网.com/wyfs02/M00/86/74/wKiom1e--7mysZwwAALH2pyjbLM427.png
      点下一步,看检查是否都通过了 ,再下一步填上相关信息后:
http://s3.运维网.com/wyfs02/M02/86/73/wKioL1e-_SKQLMn3AAJjODFUn-Y438.png
         用默认的帐号admin,密码zabbix登录进入zabbix-web主界面:
http://s1.运维网.com/wyfs02/M01/86/74/wKiom1e-_SOD6iAiAAHEqlvNvX4770.png



dashboard               仪表盘
inventory                   清单,盘点,库存
overview                  概览
Macros                     宏
maintenance            维护窗口,保养
details                        详细,细节
parameter                  参数
favourite                  优先,喜爱
filter                           过滤


从上图可以看到zabbix有5个一级目录

分别是:   
      monotoring 监控      inventory 资产清单   reports 报告                                  configuration 配置      administrationweb管理接口


  三、配置zabbix-server监控自己本机
  监控主机的配置都是在zabbi-agent的配置文件中实现
1、修改zabbix-agent的配置文件
# grep -v '^#\|^$' zabbix_agentd.conf      
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1,192,168.10.6   
#server端的ip,同时还有授权的作用(允许该主机收集本机数据),多IP用逗号分隔,server端和agent端在同一台机器上时,127.0.0.1这个IP不能删掉
ServerActive=127.0.0.1,192.168.10.6      # 客户端主动报告给服务器端的地址
Hostname=Node2         # server端自动发现时,显示agent端的主机名,必须全局唯一
Include=/etc/zabbix/zabbix_agentd.d/2、启动zabbix-agent
# service zabbix-agent start
Starting Zabbix agent:                                    
# netstat -tunap   # 客户端监听在10050端口
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp      0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      18906/zabbix_agentd  

  3、在zabbix-web上启用监控zabbix-server本机
      点击configuration --> hosts 可以看到主机中有zabbix-server但是status项是Disabled禁用了,点击Disabled变成Enabled启用即可


  四、使用中文界面

      zabbix自带多种语言包,当然也包含中文。登陆到zabbix web控制台默认是英文,对有些英文不好或者习惯中文的人来说会有不适应。
1、那么我们怎么切换到中文版本?
  http://www.ttlsa.com/zabbix/zabbix-convert-into-chinese-8-ttlsa/
  
  2、 使用中文界面出现乱码
http://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/


1、在windows中找一个自己喜欢的字体或者去网上下载一个字体
2、把它复制到zabbix的web端的fonts目录下:/usr/share/zabbix/fonts   # yum方式安装的路径
3、修改zabbix页面管理的中文字体设置
vim /var/www/html/zabbix/include/defines.inc.php      #修改以下两行
define('ZBX_FONT_NAME', 'simkai');# simkai为字体名不带ttf后缀,后缀必须为小写的ttf才行
define('ZBX_GRAPH_FONT_NAME','simkai');
4、登陆页面设置相应用户的默认语言Administrator—->Users(此处要保证显示的是用户,否则显示的都是用户组)





页: [1]
查看完整版本: 【Zabbix】02、Zabbix 安装