zabbix入门

环境部署

安装mysql

#安装MySQL,官方的MySQL的repo源地址:http://repo.mysql.com/
#选择指定的MySQL版本,我这里选mysql5.7的版本,复制对应版本的链接地址。
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
rpm -ivh mysql57-community-release-el7-10.noarch.rpm yum repolist all |grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 118
mysql-connectors-community-source MySQL Connectors Community - disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 95
mysql-tools-community-source MySQL Tools Community - Sourc disabled
mysql-tools-preview/x86_64 MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - disabled
mysql57-community/x86_64 MySQL 5.7 Community Server enabled: 364
mysql57-community-source MySQL 5.7 Community Server - disabled
mysql80-community/x86_64 MySQL 8.0 Community Server disabled
mysql80-community-source MySQL 8.0 Community Server - disabled
#最后面的enabled代表已开启版本的MySQL源
yum-config-manager --enable mysql57-community #开启mysql57-community的源
yum-config-manager --disable mysql57-community #关闭mysql57-community的源
#无论哪个版本,必须有mysqlxx-community、mysql-connectors-community、mysql-tools-community这三个源是开启的,开启的是哪个版本的源,安装的就是哪个的版本。 #安装mysql
yum -y install mysql-community-server
#启动/关闭/重启:systemctl start/stop/restart mysqld
#开机自启:systemctl enable mysqld

安装php&httpd

#php7.x版本的,web UI安装后在最新数据的底部会有报错:count(): Parameter must be an array or an object that implements Countable [ in latest.php:103]。介意的话用5.4版本的没有报错。
#安装php7.2,php的repo源地址:https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install epel-release
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w httpd php72w-mysql php72w-mbstring php72w-gd php72w-bcmath php72w-ldap php72w-xml

初始化MySQL(修改MySQL初始密码)

必须初始化修改密码,否则大部分操作会报错,如:

mysql> show databases;

ERROR 1820 (HY000): Unknown error 1820

mysql> use mysql;

ERROR 1820 (HY000): Unknown error 1820

systemctl start mysqld  #先启动mysql
sudo grep 'temporary password' /var/log/mysqld.log #获取初始密码
2019-09-17T10:32:39.902324Z 1 [Note] A temporary password is generated for root@localhost: eQj:=VuCw43h # “eQj:=VuCw43h” 即为初始密码 mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; #修改登录密码
flush privileges;
#修改密码的复杂性规则:
set global validate_password_policy=0;
#上面这个参数用于控制validate_password的验证策略 0-->low 1-->MEDIUM 2-->strong。
set global validate_password_mixed_case_count=0; #大小写的最小个数。
set global validate_password_number_count=3; #密码中数字的最小个数。
set global validate_password_special_char_count=0;#特殊字符的最小个数。
set global validate_password_length=3; #密码长度的最小值。
#查看密码策略设置
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 3 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 3 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 0 |
+--------------------------------------+-------+

创建zabbix数据库

mysql -uroot -p
password: create database zabbix charset 'utf8';
Query OK, 1 row affected (0.00 sec) #将zabbix用户授予所有对zabbix数据库的权限(授权时自动创建zabbix用户)
grant all privileges on zabbix.* to zabbix@localhost identified by '123123';
Query OK, 1 row affected (0.00 sec) flush privileges;
Query OK, 1 row affected (0.00 sec)

安装配置zabbix 3.0

官方安装文档:https://www.zabbix.com/cn/download?zabbix=3.0&os_distribution=centos&os_version=7&db=mysql

#获取zabbix3.0的repo源,
rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm #安装zabbix服务端和agent和web组件
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent zabbix-get #解压zabbix自带的数据库表
cd /usr/share/doc/zabbix-server-mysql-3.0.28/
gunzip create.sql.gz
#导入到MySQL
mysql -uroot -p -Dzabbix <create.sql
password: #输入密码可以看到zabbix数据库中的表 mysql -uzabbix -p
password: use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> show tables;
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |
| auditlog |
| auditlog_details |
| autoreg_host |
| conditions |
| config |
... #修改zabbix-server配置文件
vim /etc/zabbix/zabbix_server.conf
#取消下面参数的备注并修改为数据库中设置的参数
DBName=zabbix
...
DBUser=zabbix
...
DBPassword=123123
...
DBPort=3306
...
#保存退出 #修改zabbix-web配置文件
vim /etc/httpd/conf.d/zabbix.conf
#将如下这行取消注释,并修改时区为亚洲上海
php_value date.timezone Asia/Shanghai #修改zabbix-agent配置文件
vim /etc/zabbix/zabbix_agentd.conf #agent的被动模式,允许哪台服务器拉取当前服务器的数据。server端的agent最好写本地lo+网卡IP,被监控端只写监控端的IP,这个IP只能写本端到目标主机的最后一跳IP。多个IP用逗号隔开。
Server=127.0.0.1 #agent的主动模式,将本端服务器的数据主动推送给哪个主机。server端的agent写本地回环,被监控端写监控端的IP
ServerActive=127.0.0.1 #主机名称,使用hosts文件中对应显示的名称
Hostname=zabbix-server #注:主动模式和被动模式可以同时存在,但是server端的agent会报错,但是不影响使用。

启动服务

systemctl start mysqld
systemctl enable mysqld systemctl start zabbix-server
systemctl enable zabbix-server systemctl start zabbix-agent
systemctl enable zabbix-agent systemctl start httpd
systemctl enable httpd

查看监听端口

ss tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:*
LISTEN 0 128 *:10050 #agent监听端口 *:*
LISTEN 0 128 *:10051 #server端监听端口 *:*
LISTEN 0 128 127.0.0.1:9000 #PHP监听端口 *:*
LISTEN 0 128 :::80 #httpd监听端口 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 :::10050 :::*
LISTEN 0 128 :::10051 :::*
LISTEN 0 80 :::3306 #MySQL监听端口 :::*

使用浏览器访问:hostIP/zabbix

一般报错的项是php的参数不符合要求,在/etc/php.ini中找到报错的项,将参数改为图中Required对应的参数即可

vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
#保存退出,重启httpd和zabbix-server,刷新浏览器网页

修改语言

修改管理员登陆密码

图表字体乱码,更换字体

#在控制面版中,查看方式设置为大图标,然后找到“字体”,选择字体文件。
#将windows中的字体文件放在如下目录,一般文件后缀为TTF,将大写的后缀改为小写的ttf。
cd /usr/share/zabbix/fonts
#编辑配置文件
vim /usr/share/zabbix/include/defines.inc.php
#找到如下两项,将引号中的graphfont改为目标字体名称,不用带后缀
define('ZBX_GRAPH_FONT_NAME', 'STFANGSO');
define('ZBX_FONT_NAME', 'STFANGSO'); #改完保存退出即可,刷新网页,即可看到图表中的乱码已为中文。

可能遇到的问题

Zabbix discoverer processes more than 75% busy

严重性:Average

建议:

1:内存调度问题

在zabbix_server.conf配置文件中

增加初始化进程 StartPollers=12

重启zabbix-server

2:进程占用问题

修改zabbix_server.conf中discovery进程数量

StartDiscoverers=5

重启zabbix-server

count(): Parameter must be an array or an object that implements Countable [ in latest.php:103]

PHP7.x以上版本的报错,尚未解决

zabbix基础之环境搭建的更多相关文章

  1. Centos 基础开发环境搭建之Maven私服nexus

    hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件  ...

  2. 【1】循序渐进学 Zabbix :初识与基础依赖环境搭建( LNMP )

    写在前面的话 运维监控是一个很大的话题,在这一块个人接触的比较突出的服务主要有 Nagio 和 Zabbix 两款.而这几年跳过的公司中,Zabbix 一直都是首选且唯一选择,Nagios 没遇到. ...

  3. Python基础1-Python环境搭建

    Python环境搭建首先通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本: 若未安装则需要下载安装,下面为linux和windo ...

  4. 大数据基础-2-Hadoop-1环境搭建测试

    Hadoop环境搭建测试 1 安装软件 1.1 规划目录 /opt [root@host2 ~]# cd /opt [root@host2 opt]# mkdir java [root@host2 o ...

  5. zabbix分布式监控环境搭建

    本次测试主要是在 centos 系统环境实践,测试内容:集群多台服务器资源监控做后续铺垫.zabbix的简介和自身的特点.在这就不阐述了 查询防火墙状态service iptables status停 ...

  6. openstack(liberty):部署实验平台(一,基础网络环境搭建)

    openstack项目的研究,到今天,算是要进入真实环境了,要部署实验平台了.不再用devstack了.也就是说,要独立controller,compute,storage和network了.要做这个 ...

  7. 精品教程--IOS零基础开发环境搭建

    下载源码 技术要点: 1. 启动XCODE开始开发 2. IOS项目文件结构分析 3. 添加视图label组件 4. 程序的入口以及启动流程 5. 源码详细的中文注释 ...... 详细介绍: 1. ...

  8. 1. ReactJS基础(开发环境搭建)

    本文主要介绍通过React官方提供的create-react-app脚手架进行开发环境的搭建. 1.安装node环境(安装过程这里不做介绍,可参考其他博文) 在cmd中输入node -v 如果可以看到 ...

  9. Java基础知识➣环境搭建与类型整理(一)

    概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以 ...

随机推荐

  1. 神仙dcx出的一道题

    题目大意 \(\;\;\)在一个坐标系上, 以\((0, 0)\)为起点, 每走一步,可以从\((x,y)\)走到\((x+1,y),(x-1,y),(x,y+1),(x,y-1)\)中的一个点上, ...

  2. php count_chars()函数 语法

    php count_chars()函数 语法 作用:返回一个字符串,包含所有在字符串中使用过的不同字符.直线电机选型 语法:count_chars(string,mode) 参数: 参数 描述 str ...

  3. Python_006(is和==,小数据池)

    一.is和==的区别 1.id()方法,可以查看一个变量的内存地址 lst = ["周杰伦", "燃哥"] lst1 = ["周杰伦", & ...

  4. vue项目中使用element的dialog中引入ztree却不能初始化解决办法

    一开始我在 里边写的,发现获取不到,那么采用dialog自带的回调函数,窗口打开后opend进行处理, 结果:

  5. 前端通过axios和FormData实现文件上传功能遇到的坑

    使用element-ui中的upload上传组件,前端上传数据参数已经传过去了,但是后端 (java) 接不到数据 (null) [解决方案] html部分: <el-button type=& ...

  6. ORACLE 收缩表空间的数据文件

    http://blog.itpub.net/29345367/viewspace-1816427/ 方法一: 在实际的应用中经常会遇到TRUNCATE或者DELETE表中的数据后发现表空间并没有将空间 ...

  7. 【转】 C语言深度解剖读书笔记(1.关键字的秘密)

    本文出处:http://blog.csdn.net/mbh_1991/article/details/10149805 开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有 ...

  8. leetcode 217. 存在重复元素 (python)

    给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 false. 示例 1: 输入: [1,2,3,1]输出: true示 ...

  9. WEB开发:Java与Php对比

    比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行比较: 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易上 ...

  10. CentOS 7.3 安装MySQL 5.7并修改初始密码

    在CentOS 7.3 下安装MySQL 5.7并修改初始密码,Windows下安装MySQL 5.7 见 http://www.linuxidc.com/Linux/2017-11/148521.h ...