premier commit
This commit is contained in:
		
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
# zbx-pf_gateway
 | 
			
		||||
 | 
			
		||||
### Introduction
 | 
			
		||||
 | 
			
		||||
Ce projet permet de superviser les passerelles pfSense sur zabbix avec peu d'efforts
 | 
			
		||||
 | 
			
		||||
### HowTO
 | 
			
		||||
 | 
			
		||||
 - copier le **bin/pf-gw** dans le dossier **/usr/local/bin/** de pfSense et le rendre executable.
 | 
			
		||||
 - copier dans les options avancées de la WebUI le contenu du fichier **conf/userparameters**
 | 
			
		||||
 - Importer dans zabbix le template situé dans template/pf_gateway.xml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								bin/pf-gw
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								bin/pf-gw
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
if [ "$1" == "discovery" ]; then
 | 
			
		||||
	sockets=`ls /var/run/dpinger_*.sock`
 | 
			
		||||
	result=`echo -n '{"data": ['`
 | 
			
		||||
	for i in $sockets ; do
 | 
			
		||||
		data=`echo $i | cut -c 18- | cut -d "~" -f 1`
 | 
			
		||||
		result=`echo -n $result'{"{#GWNAME}": "'`
 | 
			
		||||
		result=`echo -n $result"$data"`
 | 
			
		||||
		result=`echo -n $result'"},'`
 | 
			
		||||
	done
 | 
			
		||||
	result=`echo $result | sed 's/.$//'`
 | 
			
		||||
	result=`echo -n $result']}'`
 | 
			
		||||
elif [ "$1" == "latency" ]; then
 | 
			
		||||
	result=`cat /var/run/dpinger_${2}~*.sock 2> /dev/null | awk '{print $2 / 1000}' | bc | sed 's/^\./0./'`
 | 
			
		||||
elif [ "$1" == "packetloss" ]; then
 | 
			
		||||
	result=`cat /var/run/dpinger_${2}~*.sock 2> /dev/null | awk '{print $4}'`
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo $result
 | 
			
		||||
							
								
								
									
										3
									
								
								conf/userparameters.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								conf/userparameters.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
UserParameter=pf-gw-latency[*],/usr/local/bin/pf-gw latency $1
 | 
			
		||||
UserParameter=pf-gw-pl[*],/usr/local/bin/pf-gw packetloss $1
 | 
			
		||||
UserParameter=pf-gw-discovery,/usr/local/bin/pf-gw discovery
 | 
			
		||||
							
								
								
									
										228
									
								
								template/pf_gateway.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								template/pf_gateway.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,228 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<zabbix_export>
 | 
			
		||||
    <version>3.4</version>
 | 
			
		||||
    <date>2018-03-12T15:15:08Z</date>
 | 
			
		||||
    <groups>
 | 
			
		||||
        <group>
 | 
			
		||||
            <name>Templates/Network Devices</name>
 | 
			
		||||
        </group>
 | 
			
		||||
    </groups>
 | 
			
		||||
    <templates>
 | 
			
		||||
        <template>
 | 
			
		||||
            <template>Template pfSense gateways</template>
 | 
			
		||||
            <name>Template pfSense gateways</name>
 | 
			
		||||
            <description/>
 | 
			
		||||
            <groups>
 | 
			
		||||
                <group>
 | 
			
		||||
                    <name>Templates/Network Devices</name>
 | 
			
		||||
                </group>
 | 
			
		||||
            </groups>
 | 
			
		||||
            <applications>
 | 
			
		||||
                <application>
 | 
			
		||||
                    <name>Network Interfaces</name>
 | 
			
		||||
                </application>
 | 
			
		||||
            </applications>
 | 
			
		||||
            <items/>
 | 
			
		||||
            <discovery_rules>
 | 
			
		||||
                <discovery_rule>
 | 
			
		||||
                    <name>pfSense's Gateway</name>
 | 
			
		||||
                    <type>0</type>
 | 
			
		||||
                    <snmp_community/>
 | 
			
		||||
                    <snmp_oid/>
 | 
			
		||||
                    <key>pf-gw-discovery</key>
 | 
			
		||||
                    <delay>12h</delay>
 | 
			
		||||
                    <status>0</status>
 | 
			
		||||
                    <allowed_hosts/>
 | 
			
		||||
                    <snmpv3_contextname/>
 | 
			
		||||
                    <snmpv3_securityname/>
 | 
			
		||||
                    <snmpv3_securitylevel>0</snmpv3_securitylevel>
 | 
			
		||||
                    <snmpv3_authprotocol>0</snmpv3_authprotocol>
 | 
			
		||||
                    <snmpv3_authpassphrase/>
 | 
			
		||||
                    <snmpv3_privprotocol>0</snmpv3_privprotocol>
 | 
			
		||||
                    <snmpv3_privpassphrase/>
 | 
			
		||||
                    <params/>
 | 
			
		||||
                    <ipmi_sensor/>
 | 
			
		||||
                    <authtype>0</authtype>
 | 
			
		||||
                    <username/>
 | 
			
		||||
                    <password/>
 | 
			
		||||
                    <publickey/>
 | 
			
		||||
                    <privatekey/>
 | 
			
		||||
                    <port/>
 | 
			
		||||
                    <filter>
 | 
			
		||||
                        <evaltype>0</evaltype>
 | 
			
		||||
                        <formula/>
 | 
			
		||||
                        <conditions/>
 | 
			
		||||
                    </filter>
 | 
			
		||||
                    <lifetime>30d</lifetime>
 | 
			
		||||
                    <description/>
 | 
			
		||||
                    <item_prototypes>
 | 
			
		||||
                        <item_prototype>
 | 
			
		||||
                            <name>Latency on {#GWNAME}</name>
 | 
			
		||||
                            <type>0</type>
 | 
			
		||||
                            <snmp_community/>
 | 
			
		||||
                            <snmp_oid/>
 | 
			
		||||
                            <key>pf-gw-latency[{#GWNAME}]</key>
 | 
			
		||||
                            <delay>1m</delay>
 | 
			
		||||
                            <history>90d</history>
 | 
			
		||||
                            <trends>365d</trends>
 | 
			
		||||
                            <status>0</status>
 | 
			
		||||
                            <value_type>0</value_type>
 | 
			
		||||
                            <allowed_hosts/>
 | 
			
		||||
                            <units>ms</units>
 | 
			
		||||
                            <snmpv3_contextname/>
 | 
			
		||||
                            <snmpv3_securityname/>
 | 
			
		||||
                            <snmpv3_securitylevel>0</snmpv3_securitylevel>
 | 
			
		||||
                            <snmpv3_authprotocol>0</snmpv3_authprotocol>
 | 
			
		||||
                            <snmpv3_authpassphrase/>
 | 
			
		||||
                            <snmpv3_privprotocol>0</snmpv3_privprotocol>
 | 
			
		||||
                            <snmpv3_privpassphrase/>
 | 
			
		||||
                            <params/>
 | 
			
		||||
                            <ipmi_sensor/>
 | 
			
		||||
                            <authtype>0</authtype>
 | 
			
		||||
                            <username/>
 | 
			
		||||
                            <password/>
 | 
			
		||||
                            <publickey/>
 | 
			
		||||
                            <privatekey/>
 | 
			
		||||
                            <port/>
 | 
			
		||||
                            <description/>
 | 
			
		||||
                            <inventory_link>0</inventory_link>
 | 
			
		||||
                            <applications>
 | 
			
		||||
                                <application>
 | 
			
		||||
                                    <name>Network Interfaces</name>
 | 
			
		||||
                                </application>
 | 
			
		||||
                            </applications>
 | 
			
		||||
                            <valuemap/>
 | 
			
		||||
                            <logtimefmt/>
 | 
			
		||||
                            <preprocessing/>
 | 
			
		||||
                            <jmx_endpoint/>
 | 
			
		||||
                            <application_prototypes/>
 | 
			
		||||
                            <master_item_prototype/>
 | 
			
		||||
                        </item_prototype>
 | 
			
		||||
                        <item_prototype>
 | 
			
		||||
                            <name>Packet Loss on {#GWNAME}</name>
 | 
			
		||||
                            <type>0</type>
 | 
			
		||||
                            <snmp_community/>
 | 
			
		||||
                            <snmp_oid/>
 | 
			
		||||
                            <key>pf-gw-pl[{#GWNAME}]</key>
 | 
			
		||||
                            <delay>1m</delay>
 | 
			
		||||
                            <history>90d</history>
 | 
			
		||||
                            <trends>365d</trends>
 | 
			
		||||
                            <status>0</status>
 | 
			
		||||
                            <value_type>3</value_type>
 | 
			
		||||
                            <allowed_hosts/>
 | 
			
		||||
                            <units>%</units>
 | 
			
		||||
                            <snmpv3_contextname/>
 | 
			
		||||
                            <snmpv3_securityname/>
 | 
			
		||||
                            <snmpv3_securitylevel>0</snmpv3_securitylevel>
 | 
			
		||||
                            <snmpv3_authprotocol>0</snmpv3_authprotocol>
 | 
			
		||||
                            <snmpv3_authpassphrase/>
 | 
			
		||||
                            <snmpv3_privprotocol>0</snmpv3_privprotocol>
 | 
			
		||||
                            <snmpv3_privpassphrase/>
 | 
			
		||||
                            <params/>
 | 
			
		||||
                            <ipmi_sensor/>
 | 
			
		||||
                            <authtype>0</authtype>
 | 
			
		||||
                            <username/>
 | 
			
		||||
                            <password/>
 | 
			
		||||
                            <publickey/>
 | 
			
		||||
                            <privatekey/>
 | 
			
		||||
                            <port/>
 | 
			
		||||
                            <description/>
 | 
			
		||||
                            <inventory_link>0</inventory_link>
 | 
			
		||||
                            <applications>
 | 
			
		||||
                                <application>
 | 
			
		||||
                                    <name>Network Interfaces</name>
 | 
			
		||||
                                </application>
 | 
			
		||||
                            </applications>
 | 
			
		||||
                            <valuemap/>
 | 
			
		||||
                            <logtimefmt/>
 | 
			
		||||
                            <preprocessing/>
 | 
			
		||||
                            <jmx_endpoint/>
 | 
			
		||||
                            <application_prototypes/>
 | 
			
		||||
                            <master_item_prototype/>
 | 
			
		||||
                        </item_prototype>
 | 
			
		||||
                    </item_prototypes>
 | 
			
		||||
                    <trigger_prototypes>
 | 
			
		||||
                        <trigger_prototype>
 | 
			
		||||
                            <expression>{Template pfSense gateways:pf-gw-latency[{#GWNAME}].avg(5m)}>200 or {Template pfSense gateways:pf-gw-pl[{#GWNAME}].avg(5m)}>10</expression>
 | 
			
		||||
                            <recovery_mode>0</recovery_mode>
 | 
			
		||||
                            <recovery_expression/>
 | 
			
		||||
                            <name>Gateway {#GWNAME} have a problem</name>
 | 
			
		||||
                            <correlation_mode>0</correlation_mode>
 | 
			
		||||
                            <correlation_tag/>
 | 
			
		||||
                            <url/>
 | 
			
		||||
                            <status>0</status>
 | 
			
		||||
                            <priority>3</priority>
 | 
			
		||||
                            <description/>
 | 
			
		||||
                            <type>0</type>
 | 
			
		||||
                            <manual_close>0</manual_close>
 | 
			
		||||
                            <dependencies>
 | 
			
		||||
                                <dependency>
 | 
			
		||||
                                    <name>Gateway {#GWNAME} is down</name>
 | 
			
		||||
                                    <expression>{Template pfSense gateways:pf-gw-latency[{#GWNAME}].avg(5m)}>500 or {Template pfSense gateways:pf-gw-pl[{#GWNAME}].avg(5m)}>20</expression>
 | 
			
		||||
                                    <recovery_expression/>
 | 
			
		||||
                                </dependency>
 | 
			
		||||
                            </dependencies>
 | 
			
		||||
                            <tags/>
 | 
			
		||||
                        </trigger_prototype>
 | 
			
		||||
                        <trigger_prototype>
 | 
			
		||||
                            <expression>{Template pfSense gateways:pf-gw-latency[{#GWNAME}].avg(5m)}>500 or {Template pfSense gateways:pf-gw-pl[{#GWNAME}].avg(5m)}>20</expression>
 | 
			
		||||
                            <recovery_mode>0</recovery_mode>
 | 
			
		||||
                            <recovery_expression/>
 | 
			
		||||
                            <name>Gateway {#GWNAME} is down</name>
 | 
			
		||||
                            <correlation_mode>0</correlation_mode>
 | 
			
		||||
                            <correlation_tag/>
 | 
			
		||||
                            <url/>
 | 
			
		||||
                            <status>0</status>
 | 
			
		||||
                            <priority>4</priority>
 | 
			
		||||
                            <description/>
 | 
			
		||||
                            <type>0</type>
 | 
			
		||||
                            <manual_close>0</manual_close>
 | 
			
		||||
                            <dependencies/>
 | 
			
		||||
                            <tags/>
 | 
			
		||||
                        </trigger_prototype>
 | 
			
		||||
                    </trigger_prototypes>
 | 
			
		||||
                    <graph_prototypes>
 | 
			
		||||
                        <graph_prototype>
 | 
			
		||||
                            <name>Latency on {#GWNAME}</name>
 | 
			
		||||
                            <width>900</width>
 | 
			
		||||
                            <height>200</height>
 | 
			
		||||
                            <yaxismin>0.0000</yaxismin>
 | 
			
		||||
                            <yaxismax>100.0000</yaxismax>
 | 
			
		||||
                            <show_work_period>1</show_work_period>
 | 
			
		||||
                            <show_triggers>1</show_triggers>
 | 
			
		||||
                            <type>0</type>
 | 
			
		||||
                            <show_legend>1</show_legend>
 | 
			
		||||
                            <show_3d>0</show_3d>
 | 
			
		||||
                            <percent_left>0.0000</percent_left>
 | 
			
		||||
                            <percent_right>0.0000</percent_right>
 | 
			
		||||
                            <ymin_type_1>1</ymin_type_1>
 | 
			
		||||
                            <ymax_type_1>0</ymax_type_1>
 | 
			
		||||
                            <ymin_item_1>0</ymin_item_1>
 | 
			
		||||
                            <ymax_item_1>0</ymax_item_1>
 | 
			
		||||
                            <graph_items>
 | 
			
		||||
                                <graph_item>
 | 
			
		||||
                                    <sortorder>0</sortorder>
 | 
			
		||||
                                    <drawtype>0</drawtype>
 | 
			
		||||
                                    <color>FF3333</color>
 | 
			
		||||
                                    <yaxisside>0</yaxisside>
 | 
			
		||||
                                    <calc_fnc>2</calc_fnc>
 | 
			
		||||
                                    <type>0</type>
 | 
			
		||||
                                    <item>
 | 
			
		||||
                                        <host>Template pfSense gateways</host>
 | 
			
		||||
                                        <key>pf-gw-latency[{#GWNAME}]</key>
 | 
			
		||||
                                    </item>
 | 
			
		||||
                                </graph_item>
 | 
			
		||||
                            </graph_items>
 | 
			
		||||
                        </graph_prototype>
 | 
			
		||||
                    </graph_prototypes>
 | 
			
		||||
                    <host_prototypes/>
 | 
			
		||||
                    <jmx_endpoint/>
 | 
			
		||||
                </discovery_rule>
 | 
			
		||||
            </discovery_rules>
 | 
			
		||||
            <httptests/>
 | 
			
		||||
            <macros/>
 | 
			
		||||
            <templates/>
 | 
			
		||||
            <screens/>
 | 
			
		||||
        </template>
 | 
			
		||||
    </templates>
 | 
			
		||||
</zabbix_export>
 | 
			
		||||
		Reference in New Issue
	
	Block a user