Zabbix pre-defined some key in the template, but the usual situation does not meet our needs. Fortunately, Zabbix provides a way to customize the key, so we have the flexibility to monitor the various data we want to monitor. Defining a configuration file
The zabbix-agent configuration file path installed through Yum is/etc/zabbix/zabbix_agentd.conf.
Around 255 lines of this file, we can find the following code:
1 |
Include=/etc/Zabbix/zabbix_agentd. D/ |
Our custom configuration can be put into this directory.
We can create a custom file to define the key we need:
1 |
Vim /etc/Zabbix/zabbix_agent. D/userparameter_script. conf |
This content is added to the file:
1234 |
# This file monitors custom script output values # format is userparameter=<key>,<command> userparameter=script. Date,date |
Restart zabbix-agent after saving.
Test gets the value of the custom key
Use the Zabbix_get tool on Zabbix-server to get the custom values.
12 |
shell> zabbix_get -s 100.10.1.2 - k script.date fri apr 24 14:41:18 cst 2015 |
Gets the result of executing date in the example above, stating that the configuration was successful.
Create a script
Start by creating a new script directory to hold our scripts and name the script kucun.sh, and I'll use Zabbix to monitor the inventory tables in the database and use inventory data to paint.
12 |
mkdir -p /etc/< Span class= "crayon-v" >zabbix/script/ vim< Span class= "crayon-h" > /etc/ zabbix/script/< Span class= "crayon-v" >kucun.sh |
We define the script and enter a store number to check the number of items in this store that are less than N.
If you execute the query manually, the query is as follows:
12 |
Shell> /etc/Zabbix/script/kucun. Sh bj001 - 2 |
An output of 2 means that there are 2 items with a quantity less than 30.
Here's what the script says:
12345678 |
#!/bin/bashshop_id=$1 number=$2 dbhost="100.10.1.2" dbuser="Monitor" dbpasswd="+" SQL="SELECT COUNT (*) from lsp_cus.menu WHERE shop_no = \" $shop _id\ "and date = Unix_timestamp (Date_format ( Now (), '%y-%m-%d ')) and Num-sale < \ "\" " MySQL -h$dbhost -u$dbuser -p$dbpasswd -Ne "$sql" |
Create a key using the results of a script query
Re-edit
1 |
Vim /etc/Zabbix/zabbix_agent. D/userparameter_script. conf |
File modified to:
123 |
# this file monitors custom script output values # format userparameter=<key>,<command> userparameter=script .kucun[*],/etc/ zabbix/script/< Span class= "crayon-v" >kucun.sh $1 $2 |
Query by Zabbix-server
Use the Zabbix_get tool on the Zabbix server to query store number 001, inventory less than 30 of the number of items.
12 |
Shell> zabbix_get -s 100.10.1.2 -k script. Kucun[001,+] - |
Can see the success.
Some explanations for the methods used above
Userparameter=key[*],command
Key is a unique value, and [*] represents the parameter.
command is to execute commands or scripts, Key's [*] inside the parameter one by one corresponds to $9, altogether 9 parameters. $ A represents a script command. The maximum returned result data is 512KB.
The parameter prohibits the use of the following characters: \ ' "' *? [ ] { } ~ $ ! &; () <> | # @
Command-line arguments for scripts can be searched by search engines for related articles.
Transfer from http://www.qiansw.com/zabbix-user-parameters-key-script.html
Some pits------
If you have a problem, check/var/log/zabbix first.
Permissions Issue Configuration
$vi/etc/zabbix/zabbix_agentd.conf Allowroot Properties
Failed to start after modification $setenforce 0 turn off SELinux
$/etc/selinux/config selinux=disabled
Zabbix custom user key and parameter userparameters monitor script output