控服务器 - 什么是Zabbix

Zabbix是企业级开源分布式监控服务器解决方案。 该软件监控网络的不同参数和服务器的完整性,还允许为任何事件配置基于电子邮件的警报。 Zabbix根据存储在数据库(例如MySQL)中的数据提供报告和数据可视化功能。 由软件收集的每个度量可以通过基于Web的界面访问。

Zabbix根据GNU通用公共许可证版本2(GPLv2)的条款发布,完全免费。

在本教程中,我们将在运行MySQL,Apache和PHP的Ubuntu 16.04服务器上安装Zabbix。

安装Zabbix服务器

首先,我们需要安装Zabbix所需的几个PHP模块:

# apt-get install php7.0-bcmath php7.0-xml php7.0-mbstring

Ubuntu存储库中提供的Zabbix软件包已过时。我们可以使用官方Zabbix存储库安装最新的稳定版本。

通过执行以下命令来安装存储库包:

$ wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
# dpkg -i zabbix-release_3.2-1+xenial_all.deb

然后更新apt包源码:

# apt-get update

现在可以安装具有MySQL支持的Zabbix Server和PHP前端。 执行命令:

#apt-get install zabbix-server-mysql zabbix-frontend-php

安装Zabbix agent:

#apt-get install zabbix-agent

Zabbix现已安装。 下一步是配置数据库以存储其数据。

为Zabbix配置MySQL

我们需要创建一个新的MySQL数据库,Zabbix将存储收集的数据。

启动MySQL shell:

$ mysql -uroot -p

下一步

mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'usr_strong_pwd';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> EXIT;
Bye

接下来,导入初始模式和数据。

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

输入在MySQL shell中创建的zabbix用户的密码。

中间遇到的报错:

解决办法:

中间mysql创建账户时密码需要很复杂的标准,需要改一下参数,使你能设置简单的密码:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,出现这个问题怎么办?不用着急,下面给出答案。

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。

一般可通过log_error设置

1
2
3
4
5
6
7
mysql> select @@log_error;
+---------------------+
| @@log_error     |
+---------------------+
| /var/log/mysqld.log |
+---------------------+
1 row in set (0.00 sec)

可通过# grep "password" /var/log/mysqld.log 命令获取MySQL的临时密码

复制代码代码如下:
2016-01-19T05:16:36.218234Z 1 [Note] A temporary password is generated for root@localhost: waQ,qR%be2(5

用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:

1
2
mysql> select user();
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

如果只是修改为一个简单的密码,会报以下错误:

1
2
mysql> ALTER USER USER() IDENTIFIED BY '12345678';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个其实与validate_password_policy的值有关。

validate_password_policy有以下取值:

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

首先,修改validate_password_policy参数的值

1
2
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

1
2
3
4
5
6
7
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|             8 |
+----------------------------+
1 row in set (0.00 sec)

validate_password_length参数默认为8,它有最小值的限制,最小值为:

1
2
3
validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密码中数据的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。

这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|             8 |
+----------------------------+
1 row in set (0.00 sec)
 
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|             4 |
+----------------------------+
1 row in set (0.00 sec)

如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|             4 |
+----------------------------+
1 row in set (0.00 sec)
 
mysql> select @@validate_password_mixed_case_count;
+--------------------------------------+
| @@validate_password_mixed_case_count |
+--------------------------------------+
|                  1 |
+--------------------------------------+
1 row in set (0.00 sec)
 
mysql> set global validate_password_mixed_case_count=2;
Query OK, 0 rows affected (0.00 sec)
 
mysql> select @@validate_password_mixed_case_count;
+--------------------------------------+
| @@validate_password_mixed_case_count |
+--------------------------------------+
|                  2 |
+--------------------------------------+
1 row in set (0.00 sec)
 
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|             6 |
+----------------------------+
1 row in set (0.00 sec)

当然,前提是validate_password插件必须已经安装,MySQL5.7是默认安装的。

那么如何验证validate_password插件是否安装呢?可通过查看以下参数,如果没有安装,则输出将为空。

1
2
3
4
5
6
7
8
9
10
11
12
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name            | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file  |    |
| validate_password_length       | 6   |
| validate_password_mixed_case_count  | 2   |
| validate_password_number_count    | 1   |
| validate_password_policy       | LOW  |
| validate_password_special_char_count | 1   |
+--------------------------------------+-------+
6 rows in set (0.00 sec)

接下来,我们需要编辑Zabbix Server配置文件

就是 /etc/zabbix/zabbis_server.conf:

# $EDITOR /etc/zabbix/zabbix_server.conf

搜索该文件的DBPassword部分:

### Option: DBPassword                          
#      Database password. Ignored for SQLite.  
#      Comment this line if no password is used.
#                                                
# Mandatory: no                                  
# Default:                                      
# DBPassword=

取消注释DBPassword =这行并通过添加在MySQL中创建的密码进行编辑:

DBPassword=usr_strong_pwd

接下来,查找DBHost =行并取消注释。

保存并退出。

配置PHP:

我们需要配置PHP来使用Zabbix。 在安装过程中,安装程序在/etc/zabbix中创建了一个名为apache.conf的配置文件。 打开此文件:

# $EDITOR /etc/zabbix/apache.conf

在这里,现在只需要取消注释date.timezone设置并设置正确的时区:

<IfModule mod_php7.c>
    php_value max_execution_time 300
    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 2M
    php_value max_input_time 300
    php_value always_populate_raw_post_data -1
    php_value date.timezone Asia/Shanghai
</IfModule>

保存并退出。

此时,重新启动Apache并启动Zabbix Server服务,使其能够在启动时启动:

# systemctl restart apache2 (这个是系统自带的apache,最好用自己安装的httpd)
# systemctl start zabbix-server
# systemctl enable zabbix-server

使用systemctl检查Zabbix状态:

# systemctl status zabbix-server

该命令应该输出:

â zabbix-server.service - Zabbix Server
Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor pr
Active: active (running) ...

此时,Zabbix的服务器端部件已正确安装和配置。

配置Zabbix Web Fronted:

如引言中所述,Zabbix具有基于Web的前端,我们将用于可视化收集的数据。 但是,必须配置此接口。

使用Web浏览器,转到: http://localhost/zabbix.。

点击 Next step

确保所有的值都确定,然后再次单击Next step。

插入MySQL zabbix用户密码,然后点击Next step.

单击Next step,安装程序将显示具有所有配置参数的以下页面。 再次检查以确保一切正确..

点击 Next step 继续到最后的屏幕。

单击finish以完成前端安装。 默认用户名为admin,以zabbix为密码。

Zabbix服务器入门

使用上述凭证登录后,我们将看到Zabbix仪表板:

进入Administration - >Users,了解启用的帐户的概述

Create a new account by clicking on Create user

通过单击Create a new account创建一个新帐户

单击组中的Add in the Groups部分,然后选择一个组

保存新的用户凭据,它将显示在管理 - >用户面板中。

请注意,在Zabbix中,主机的访问权限分配给用户组,而不是单个用户。

总论
最后是Zabbix Server安装的教程。 现在,监控基础设施已准备好完成其作业并收集有关需要在Zabbix配置中添加的服务器的数据。

客户端操作 :
1、 下载zabbix_agentd监控客户端软件安装包(windows操作系统客户端) 
官方下载地址: http://www.zabbix.com/download

2、关闭监控主机windows server 2008防火墙或防火墙入放行zabbix_agentd客户端口号 10050 (TPC/UDP)。

3、下载后解压zabbix_agents_3.2.0.win.zip 压缩包,里面有两个文件夹,一个是bin文件夹,另一个是conf文件夹。 
Bin文件夹里面有两个文件夹,一个是win32文件夹里存放zabbix_agentd安装程序应用于windows 32位操作系统, 
一个是win64文件夹里存放zabbix_agentd安装程序应用于windows 64位操作系统。 
Conf文件夹里存放是配置文件zabbix_agentd.win.conf

4、在windows server 2008 操作系统 C盘目录下创建一个zabbix文件夹,把刚下载的zabbix_agentd压缩包里的win64位文件夹的zabbix.agentd.exe 安装程序和conf文件夹zabbix_agentd.win.conf复制到windows server 2008操作系统C盘创建的zabbix文件夹里。(文件夹创建路径可以自定义,但后面zabbix_agentd客户端运行安装命令需要根据创建的路径运行) 

5、右键以文本格式编辑zabbix_agentd.win.conf 配置文件。 

修改下面几项 :
EnableRemoteCommands=1 #允许在本地执行远程命令 
LogRemoteCommands=1 #执行远程命令是否保存操作日志 
Server = 172.16.20.90 #填写zabbix服务器IP地址 
Hostname= Zabbix server #zabbix_agent监控服务器名称 (监控主机名称) 
Log=c:\zabbix_agentd.log 
ServerActive=172.16.20.90 #填写zabbix服务器IP地址

6、桌面 → 开始 → 运行 → 输入cmd 打开DOS命令窗口 →输入以下两条命令进行zabbix客户端安装。(必须要以管理员身份运行打开DOS命令窗口)

C:\zabbix\zabbix_agentd.exe –i -c C:\zabbix\zabbix_agentd.win.conf

安装zabbix客户端 

C:\zabbix\zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.win.conf

启动zabbix服务 ↑

服务端操作 :
1、 选择配置 → 主机 → 创建主机。 

2、 输入客户端计算机名 → 可见名称自定义 → 群组自行选择(也可以自己在输入框中建立) → 输入客户端计算IP地址 → 勾选已启用 → 选择添加。 

3、 添加 zabbix_agentd 客户端监控模版。 

稍等一下,如下图所示则代表搭建成功(ZBX为绿色:zabbix_agentd客户端与zabbix服务器连接成功) 

4、 把zabbix_agent客户端添加到拓扑图,以图形方式显示zabbix_agentd客户端主机。 


 


 

至此,windows 主机监控完毕,windows所有主机和服务器均可使用此方法添加。

 **********  服务端操作  **********

1、选择配置 ---- 主机 ---- 创建主机。

2、输入客户端计算机名 --- 可见名称自定义 ---- 群组自行选择 ---- 输入客户端计算IP地址 ---- 勾选已启用 ---- 选择添加。

3、添加 zabbix_agentd 客户端监控模版。

4、把zabbix_agent客户端添加到拓扑图,以图形方式显示zabbix_agentd客户端主机。

特殊操作

标注:Zabbix服务器发送远程关机命令让zabbix_agent客户端主机关机

1、管理 ---- 脚本 ---- 创建脚本。

2、  填写脚本相应信息。

3、监测中 ----  拓扑图  -----  鼠标左键点击相应服务器 ----  选择 shutdown关机命令。

4、zabbix_agent客户端 windows server 2008 系统提示关闭计算机提示。

Ubuntu 16.04非编译安装Zabbix 3.2----服务端和客户端win的配置的更多相关文章

  1. Ubuntu 16.04下编译安装Apache2.4和PHP7结合

    Ubuntu 16.04下编译安装Apache2.4和PHP7结合,并安装PDOmysql扩展. 1.编译安装apache2.4.20 1 第一步: ./configure --prefix=/usr ...

  2. 在Ubuntu 16.04 上编译安装OpenCV3.2.0(Cmake + python3 + OpenCV3)(转)

    1 安装CMAKE sudo apt-get install cmake 2 安装python及其所依赖的软件包 sudo apt-get install build-essential sudo a ...

  3. Ubuntu 16.04 LTS 降级安装GCC 4.8

    转载自https://www.linuxidc.com/Linux/2017-03/142299.htm Ubuntu 16.04 LTS 降级安装GCC 4.8 [日期:2017-03-28] 来源 ...

  4. Ubuntu 16.04.4下安装apache服务

     Ubuntu 16.04.4下安装apache服务: 一.首先,准备需要的预装环境 需要c++,make,gcc,apr  apr-util  pcre.(如果后面报错缺少什么组件,可以百度搜方法. ...

  5. Ubuntu 16.04系统下安装Discuz出现“HTTP ERROR 500”目前无法处理此请求

    问题:当我们在Ubuntu 16.04系统下安装Disucz X3时,修改好文件的权限,浏览器输入地址安装时出现如下图所示问题: 问题查询: 在终端输入: tail -f /var/log/apach ...

  6. Ubuntu 16.04.2 LTS 安装 jdk1.6 和 tomcat6 (一)

    java和tomcat环境配置已经有很多教程和文章,最近项目需要配置Ubuntu 16.04.2下的古老的java6和tomcat 6,遇到小坑,特记录和分享. 网上的教程不是太新,就是太老,还有一些 ...

  7. 【Ubuntu 16.04.2_64】安装配置SVN

    [Ubuntu 16.04.2_64]安装配置SVN 转载:https://www.cnblogs.com/yangchongxing/p/10190549.html 检查是否已安装svn # svn ...

  8. ubuntu 16.04 上编译和安装C++机器学习工具包mlpack并编写mlpack-config.cmake | tutorial to compile and install mplack on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/1cd6a04d/,欢迎阅读最新内容! tutorial to compile and install mplack on ubun ...

  9. OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib

    近两个月来接触了Linux系统,在老板的建议下翻了Ubuntu的牌子,我安装的版本是16.04,用习惯之后感觉蛮好的,比Windows要强.好啦,废话不说啦,下面开始说在Ubuntu中安装OpemCV ...

随机推荐

  1. 一、json与jsonp的使用

    1.json与jsonp的引入    在ajax中 JSON用来解决数据交换问题,而JSONP来实现跨域.    备注:跨域也可以通过服务器端代理来解决;    理解:JSON是一种数据交换格式,而J ...

  2. ajax方法详解

    $.ajax()常用参数的设置及其意义 $.ajax({ async:true, /*是否异步请求,用这对象的目的就是为了异步请求,所以此值一般不变,恒为true*/ cache:false, /*是 ...

  3. 「JSOI2014」学生选课

    「JSOI2014」学生选课 传送门 看到这题首先可以二分. 考虑对于当前的 \(mid\) 如何 \(\text{check}\) 我们用 \(f_{i,j}\) 来表示 \(i\) 对 \(j\) ...

  4. Python第五十一天 python2升级为python3

    Python第五十一天  python2升级为python3 公司使用的生产环境系统是centos7,所以这里以centos7系统为基础,讲解将python2升级为python3的方法 centos7 ...

  5. oracle 高级函数2

    原 oracle 高级函数 2017年08月17日 16:44:19 阅读数:1731 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013278 ...

  6. Cosmetic Sprayer Structure Anatomy

    What shape of spray is sprayed by the cosmetic spray pump head?     Plastic Sprayers Manufacturer   ...

  7. element-ui的el-table的表头与列不对齐

    最好加到全局样式中: body .el-table th.gutter{ display: table-cell!important; }

  8. URL和 URI 的区别

    URL:统一资源定位符 URI:统一资源标识符 URL 是 URI 的一个子集: 来源知乎 1.统一资源标识符 URI 就是在某一规则下能把一个资源独一无二的表示出来. 拿人做例子,假设这个世界上多有 ...

  9. PAT T1001 Battle Over Cities-Hard Version

    按题意枚举每个点,建立缺少该点情况下的最小生成树,取权值最大的~ #include<bits/stdc++.h> using namespace std; ; const int inf= ...

  10. python爬虫(五) ProxyHandler处理器

    ProxyHandler处理器 一.如果我们在一段时间内用某个ip地址访问了一个网站次数过多,网站就检测到不正常,就会禁止这个ip地址的访问.所以我们可以设置一些代理服务器,每段时间换个代理,就算ip ...