Ubuntu 16.04非编译安装Zabbix 3.2----服务端和客户端win的配置

控服务器 - 什么是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 系统提示关闭计算机提示。

 

 

 

posted @ 2018-07-31 15:58  Sinsen柳  阅读(314)  评论(0编辑  收藏  举报