README.md in zabbix-ruby-client-0.1.2 vs README.md in zabbix-ruby-client-0.1.3
- old
+ new
@@ -10,11 +10,11 @@
----
This tool is designed to make easy to install zabbix reporter on monitored servers using zabbix-sender rather than zabbix-agent. It targets on monitoring mainly linux servers and is built on a plugin system so that you can decide what is going to be reported.
-The development is still in progress but it produces results and works in production for Faria since fall 2013. Use at your own risk and read the code first. It works with ruby 1.9.3 to 2.1.2.
+The development is still in progress but it produces results and works in production for Faria since fall 2013. Use at your own risk and read the code first. It works with ruby 1.9.3 to 2.3.
Check the [Changelog](CHANGELOG.md) for recent changes.
There is also a [Chef cookbook](https://github.com/eduvo/zabbix-ruby-client-cookbook) available for system-wide install if you use Chef.
@@ -84,33 +84,33 @@
## Plugins
There are a set of standart plugins included in the package, aimed at linux systems.
-* **debian/ubuntu** system stats ([system_tpl](master/zabbix-templates/system_tpl.xml) includes the following)
- * **load** (uses /proc/loadavg) [load_tpl](master/zabbix-templates/load_tpl.xml)
- * **cpu** (uses /proc/stat) [cpu_tpl](master/zabbix-templates/cpu_tpl.xml)
- * **memory** (uses /proc/meminfo) [memory_tpl](master/zabbix-templates/memory_tpl.xml)
- * **disk** (uses /proc/diskstats) [disk_tpl](master/zabbix-templates/disk_tpl.xml)
- * args [ "md-0", "/", "vgebs" ] = group identifier, mountpoint, groupname where identifier is what is found in /proc/diskstats, and groupname is something found in df command. The mount point will be used as label.
- * **network** (uses /proc/net/dev) [network_tpl](master/zabbix-templates/network_tpl.xml)
+* **debian/ubuntu** system stats ([system_tpl](zabbix-templates/system_tpl.xml) includes the following)
+ * **load** (uses /proc/loadavg) [load_tpl](zabbix-templates/load_tpl.xml)
+ * **cpu** (uses /proc/stat or iostat -c) [cpu_tpl](zabbix-templates/cpu_tpl.xml)
+ * **memory** (uses /proc/meminfo) [memory_tpl](zabbix-templates/memory_tpl.xml)
+ * **disk** (uses /proc/diskstats) [disk_tpl](zabbix-templates/disk_tpl.xml)
+ * args [ "md-0", "/", "vgebs" ] = group identifier, mountpoint, groupname where identifier is what is found in /proc/diskstats (or iostat for FreeBSD), and groupname is something found in df command. The mount point will be used as label.
+ * **network** (uses /proc/net/dev) [network_tpl](zabbix-templates/network_tpl.xml)
* args [ eth0 ] is just the interface identifier
* **apt** (uses ubuntu /usr/lib/update-notifier/apt-check) this one will populate the 'tag' field in host info, and is supposed to run every few hours or at least not every minute [apt_tpl](master/zabbix-templates/apt_tpl.xml)
* for debian, `apt-get install update-notifier-common`
* **sysinfo** (uses uname -a) is populating the host info in the inventory, and should be ran at setup and/or monthly [sysinfo_tpl](master/zabbix-templates/sysinfo_tpl.xml)
-* **apache** (depends on mod_status with status_extended on) [apache_tpl](master/zabbix-templates/apache_tpl.xml)
-* **mysql** (uses mysqladmin extended-status) [mysql_tpl](master/zabbix-templates/mysql_tpl.xml)
+* **apache** (depends on mod_status with status_extended on) [apache_tpl](zabbix-templates/apache_tpl.xml)
+* **mysql** (uses mysqladmin extended-status) [mysql_tpl](zabbix-templates/mysql_tpl.xml)
* **postgres** (uses psql and pg_stat_database) [postgres_tpl](master/zabbix-templates/postgres_tpl.xml)
* best is to use a .pgpass file see http://www.postgresql.org/docs/9.0/interactive/libpq-pgpass.html
-* **nginx** (requires httpStubStatus nginx module) [nginx_tpl](master/zabbix-templates/nginx_tpl.xml)
-* **redis** (uses redis-cli info) [redis_tpl](master/zabbix-templates/redis_tpl.xml)
+* **nginx** (requires httpStubStatus nginx module) [nginx_tpl](zabbix-templates/nginx_tpl.xml)
+* **redis** (uses redis-cli info) [redis_tpl](zabbix-templates/redis_tpl.xml)
* args [ "/path/to/redis-cli", "options to connect" ]
-* **openvpn** (uses /etc/openvpn/openvpn-status.log) [openvpn_tpl](master/zabbix-templates/openvpn_tpl.xml)
+* **openvpn** (uses /etc/openvpn/openvpn-status.log) [openvpn_tpl](zabbix-templates/openvpn_tpl.xml)
* args [ "/etc/openvpn/openvpn-status.log" ]
-* **cisco** (type ASA 5510) [cisco_tpl](master/zabbix-templates/cisco_tpl.xml)
+* **cisco** (type ASA 5510) [cisco_tpl](zabbix-templates/cisco_tpl.xml)
* uses a snmp setup
-* **RabbitMQ** (uses [rabbitmqadmin](http://www.rabbitmq.com/management-cli.html)) [rabbitmq_tpl](master/zabbix-templates/rabbitmq_tpl.xml)
+* **RabbitMQ** (uses [rabbitmqadmin](http://www.rabbitmq.com/management-cli.html)) [rabbitmq_tpl](zabbix-templates/rabbitmq_tpl.xml)
* args [ "/path/to/rabbitmqadmin", "login", "password" ]
* **mysqlcommand** (uses arbitrary mysql commands to create custom items)
* args [ "app_name", "dbname", "command_args", "command1_name", "command1_sql", "command2_name", "command2_sql" ]
* the 3 first args are common to all commands
* app_name will create an item named `app.app_name[command1_name]`
@@ -190,10 +190,14 @@
After launching manual tunnels and ensuring their survival with monit I tried `autossh` which is much more reliable. It requires to have keys exchanged from server and client, in my case I prefer doing reverse tunnels from server, because I have some plan about doing a resend from client in case server didn't open the tunnel (in case of server reboot or network failure). That resend trick is not implemented yet though.
I first created on both sides an autossh user with no console and no password:
```
+# on a linux system
sudo useradd -m -r -s /bin/false -d /usr/local/zabtunnel zabtunnel
+
+# or fopr FreeBSD
+sudo pw adduser zabtunnel -g guest -d /usr/local/zabtunnel -s /nonexistent -c "Zabbix Tunnel user"
```
On the zabbix server I created a key that I transfered to the clients in `/usr/local/zabtunnel/.ssh/authorized_keys`
```