Skip to content
Snippets Groups Projects
Commit b8014c0b authored by tec's avatar tec
Browse files

Switch to general model, monitor logged in user count

parent d33ddc89
No related merge requests found
...@@ -5,26 +5,32 @@ ...@@ -5,26 +5,32 @@
remote_user: root remote_user: root
roles: roles:
- role: cloudalchemy.node-exporter - role: cloudalchemy.node-exporter
pre_tasks:
- name: Ensure cron present (Debian)
apt: name=cron state=present
when: ansible_os_family == 'Debian'
tasks: tasks:
- name: Add getent passwd count monitor file - name: Add simple logging files
copy: template:
dest: '/usr/local/bin/getent-passwd-count.sh' src: numeric_log.j2
dest: '/usr/local/bin/ucc_node_{{ item.name }}.sh'
owner: root owner: root
mode: 755 mode: 755
content: | loop: "{{ shell_logs }}"
#!/bin/bash - name: Add cron jobs for simple logging
#
# Expose getent user count
#
# Usage: add this to crontab:
# */5 * * * * /usr/local/bin/getent-passwd-count.sh | sponge /var/lib/node_exporter/getent_passwd_count.prom
echo "# HELP node_getent_passwd_count number of users known"
echo "# TYPE node_getent_passwd_count gauge"
echo "node_getent_passwd_count $(getent passwd | wc -l)"
- name: Add getent passwd count monitor cron job
cron: cron:
name: Expose getent user count name: "{{ item.description }}"
minute: "*/5" minute: "*/5"
user: root user: root
job: "/usr/local/bin/getent-passwd-count.sh > /var/lib/node_exporter/getent_passwd_count.prom" job: "/usr/local/bin/ucc_node_{{item.name}}.sh > /var/lib/node_exporter/{{item.name}}.prom"
cron_file: getent-passwd-count cron_file: "node_{{item.name}}"
loop: "{{ shell_logs }}"
vars:
shell_logs:
- name: getent_passwd_count
description: Expose getent user count
cmd: "getent passwd | wc -l"
- name: current_users_gauge
description: Expose total (unique) users currently logged in
cmd: "users | sed 's/ /\\n/g' | uniq | wc -l"
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment