add template generator scripts

This commit is contained in:
Dmitry Vasilyev 2016-11-14 19:13:35 +03:00
parent c8814d7177
commit 1ece28029c
3 changed files with 174 additions and 0 deletions

View File

@ -1,5 +1,12 @@
Benchmarking and stress testing tool for the Zabbix server
## Populate data
Run `./generate-template-metrics.sh > template.xml` and upload template with metrics.
Run `./generate-template-clients.sh > clients.xml` and upload template with clients.
## Run benchmark
```bash
Usage of zabbix-bench:
-client int

View File

@ -0,0 +1,71 @@
#!/usr/bin/env bash
TEMPLATE_NAME="zabbix-bench"
GROUP_NAME="Linux servers"
CLIENT_PREFIX="client"
CLIENTS=200
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<zabbix_export>
<version>3.0</version>
<date>2016-11-14T15:56:40Z</date>
<groups>
<group>
<name>${GROUP_NAME}</name>
</group>
</groups>
<hosts>"
for I in $(seq 1 1 $CLIENTS)
do
echo "
<host>
<host>$CLIENT_PREFIX-$I</host>
<name>$CLIENT_PREFIX-$I</name>
<description/>
<proxy/>
<status>0</status>
<ipmi_authtype>-1</ipmi_authtype>
<ipmi_privilege>2</ipmi_privilege>
<ipmi_username/>
<ipmi_password/>
<tls_connect>1</tls_connect>
<tls_accept>1</tls_accept>
<tls_issuer/>
<tls_subject/>
<tls_psk_identity/>
<tls_psk/>
<templates>
<template>
<name>$TEMPLATE_NAME</name>
</template>
</templates>
<groups>
<group>
<name>${GROUP_NAME}</name>
</group>
</groups>
<interfaces>
<interface>
<default>1</default>
<type>1</type>
<useip>1</useip>
<ip>127.0.0.1</ip>
<dns/>
<port>10050</port>
<bulk>1</bulk>
<interface_ref>if1</interface_ref>
</interface>
</interfaces>
<applications/>
<items/>
<discovery_rules/>
<macros/>
<inventory/>
</host>"
done
echo "
</hosts>
</zabbix_export>
"

View File

@ -0,0 +1,96 @@
#!/usr/bin/env bash
TEMPLATE_NAME="zabbix-bench"
APPLICATION_NAME="zabbix-bench"
METRIC_PREFIX="metric"
METRICS=200
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<zabbix_export>
<version>3.0</version>
<date>2016-11-14T15:57:58Z</date>
<groups>
<group>
<name>Linux servers</name>
</group>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>$TEMPLATE_NAME</template>
<name>$TEMPLATE_NAME</name>
<description/>
<groups>
<group>
<name>Linux servers</name>
</group>
<group>
<name>Templates</name>
</group>
</groups>
<applications>
<application>
<name>$APPLICATION_NAME</name>
</application>
</applications>
<items>"
for I in $(seq 1 1 $METRICS)
do
echo "
<item>
<name>$METRIC_PREFIX-$I</name>
<type>2</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>$METRIC_PREFIX-$I</key>
<delay>0</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>$APPLICATION_NAME</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>"
done
echo "
</items>
<discovery_rules/>
<macros/>
<templates/>
<screens/>
</template>
</templates>
</zabbix_export>
"