Plugin:exec-redis.sh
From collectd Wiki
| exec-redis.sh plugin | |
|---|---|
| Type: | read |
| Callbacks: | n/a |
| Status: | external |
| First version: | n/a |
| Copyright: | 2010 Astro |
| License: | unknown |
| Manpage: | n/a |
| List of Plugins | |
The exec-redis.sh plugin reads statistics from Redis, a high-performance NoSQL data structure server with persistent storage.
Contents |
Code
Create /etc/collectd/redis.sh and make it executable:
#!/bin/bash HOSTNAME="${COLLECTD_HOSTNAME:-`hostname -f`}" INTERVAL="${COLLECTD_INTERVAL:-10}" PORT=6379 while sleep "$INTERVAL" do info=$(echo info|nc -w 1 127.0.0.1 $PORT) connected_clients=$(echo "$info"|awk -F : '$1 == "connected_clients" {print $2}') connected_slaves=$(echo "$info"|awk -F : '$1 == "connected_slaves" {print $2}') uptime=$(echo "$info"|awk -F : '$1 == "uptime_in_seconds" {print $2}') used_memory=$(echo "$info"|awk -F ":" '$1 == "used_memory" {print $2}'|sed -e 's/\r//') changes_since_last_save=$(echo "$info"|awk -F : '$1 == "changes_since_last_save" {print $2}') total_commands_processed=$(echo "$info"|awk -F : '$1 == "total_commands_processed" {print $2}') keys=$(echo "$info"|egrep -e "^db0"|sed -e 's/^.\+:keys=//'|sed -e 's/,.\+//') echo "PUTVAL $HOSTNAME/redis-$PORT/memcached_connections-clients interval=$INTERVAL N:$connected_clients" echo "PUTVAL $HOSTNAME/redis-$PORT/memcached_connections-slaves interval=$INTERVAL N:$connected_slaves" echo "PUTVAL $HOSTNAME/redis-$PORT/uptime interval=$INTERVAL N:$uptime" echo "PUTVAL $HOSTNAME/redis-$PORT/df-memory interval=$INTERVAL N:$used_memory:U" echo "PUTVAL $HOSTNAME/redis-$PORT/files-unsaved_changes interval=$INTERVAL N:$changes_since_last_save" echo "PUTVAL $HOSTNAME/redis-$PORT/memcached_command-total interval=$INTERVAL N:$total_commands_processed" echo "PUTVAL $HOSTNAME/redis-$PORT/memcached_items-db0 interval=$INTERVAL N:$keys" done
Configuration
Configure the Exec plugin:
<Plugin exec> Exec nobody "/etc/collectd/redis.sh" </Plugin>
Example graph
Dependencies
- nc(1) (netcat)
- awk(1)
See also
- http://code.google.com/p/redis/
Homepage of Redis - Python plugin based implementation at
powdahound/redis-collectd-plugin. - C-based implementation at Plugin:Redis.


