控服务器 - 什么是Zabbixphp
Zabbix是企业级开源分布式监控服务器解决方案。 该软件监控网络的不一样参数和服务器的完整性,还容许为任何事件配置基于电子邮件的警报。 Zabbix根据存储在数据库(例如MySQL)中的数据提供报告和数据可视化功能。 由软件收集的每一个度量能够经过基于Web的界面访问。前端
Zabbix根据GNU通用公共许可证版本2(GPLv2)的条款发布,彻底免费。mysql
在本教程中,咱们将在运行MySQL,Apache和PHP的Ubuntu 16.04服务器上安装Zabbix。linux
安装Zabbix服务器sql
首先,咱们须要安装Zabbix所需的几个PHP模块:shell
# apt-get install php7.0-bcmath php7.0-xml php7.0-mbstring数据库
Ubuntu存储库中提供的Zabbix软件包已过期。咱们可使用官方Zabbix存储库安装最新的稳定版本。apache
经过执行如下命令来安装存储库包:ubuntu
$ 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.debwindows
而后更新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的临时密码
用该密码登陆到服务端后,必须立刻修改密码,否则会报以下错误:
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配置中添加的服务器的数据。
客户端操做 :
一、 下载zabbix_agentd监控客户端软件安装包(windows操做系统客户端)
官方下载地址: http://www.zabbix.com/download
二、关闭监控主机windows server 2008防火墙或防火墙入放行zabbix_agentd客户端口号 10050 (TPC/UDP)。
三、下载后解压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
四、在windows server 2008 操做系统 C盘目录下建立一个zabbix文件夹,把刚下载的zabbix_agentd压缩包里的win64位文件夹的zabbix.agentd.exe 安装程序和conf文件夹zabbix_agentd.win.conf复制到windows server 2008操做系统C盘建立的zabbix文件夹里。(文件夹建立路径能够自定义,但后面zabbix_agentd客户端运行安装命令须要根据建立的路径运行)
五、右键以文本格式编辑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地址
六、桌面 → 开始 → 运行 → 输入cmd 打开DOS命令窗口 →输入如下两条命令进行zabbix客户端安装。(必需要以管理员身份运行打开DOS命令窗口)
C:\zabbix\zabbix_agentd.exe –i -c C:\zabbix\zabbix_agentd.win.conf
C:\zabbix\zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.win.conf
服务端操做 :
一、 选择配置 → 主机 → 建立主机。
二、 输入客户端计算机名 → 可见名称自定义 → 群组自行选择(也能够本身在输入框中创建) → 输入客户端计算IP地址 → 勾选已启用 → 选择添加。
三、 添加 zabbix_agentd 客户端监控模版。
稍等一下,以下图所示则表明搭建成功(ZBX为绿色:zabbix_agentd客户端与zabbix服务器链接成功)
四、 把zabbix_agent客户端添加到拓扑图,以图形方式显示zabbix_agentd客户端主机。
至此,windows 主机监控完毕,windows全部主机和服务器都可使用此方法添加。
********** 服务端操做 **********
一、选择配置 ---- 主机 ---- 建立主机。
二、输入客户端计算机名 --- 可见名称自定义 ---- 群组自行选择 ---- 输入客户端计算IP地址 ---- 勾选已启用 ---- 选择添加。
三、添加 zabbix_agentd 客户端监控模版。
四、把zabbix_agent客户端添加到拓扑图,以图形方式显示zabbix_agentd客户端主机。
特殊操做
标注:Zabbix服务器发送远程关机命令让zabbix_agent客户端主机关机
一、管理 ---- 脚本 ---- 建立脚本。
二、 填写脚本相应信息。
三、监测中 ---- 拓扑图 ----- 鼠标左键点击相应服务器 ---- 选择 shutdown关机命令。
四、zabbix_agent客户端 windows server 2008 系统提示关闭计算机提示。