Skip to content

Commit 17a8c4b

Browse files
author
Christopher M. Neill
committed
tiny refactor
1 parent d6f97ad commit 17a8c4b

12 files changed

Lines changed: 201 additions & 45 deletions

File tree

ansible/docker-listener.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
- { role: build_essential }
1212
- { role: docker_client }
1313
- { role: git_node_service, tags: [deploy] }
14-
- { role: loggly }
14+
- { role: loggly-rotate }
1515
- { role: consul_value, tags: [deploy, consul_value] }

ansible/filibuster.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
roles:
88
- { role: notify, tags: [notify] }
99
- { role: git_node_service, tags: [deploy] }
10-
- { role: loggly }
10+
- { role: loggly-rotate }
1111
- { role: consul_value, tags: [deploy, consul_value] }

ansible/krain.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
- { role: notify, tags: [notify] }
99
- { role: build_essential }
1010
- { role: git_node_service, tags: [deploy] }
11-
- { role: loggly }
11+
- { role: loggly-rotate }
1212
- { role: consul_value, tags: [deploy, consul_value] }
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
- hosts: docks
2+
gather_facts: no
3+
tasks:
4+
- fail: msg="`name` needs to be defined for this role"
5+
when: name is not defined
6+
7+
- name: remove file monitor config
8+
tags: loggly
9+
sudo: yes
10+
file:
11+
dest=/etc/rsyslog.d/21-filemonitoring-{{ name }}.conf
12+
state=absent
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
- name: copy loggly config
3+
tags: loggly
4+
sudo: yes
5+
template:
6+
src=22-loggly.conf.j2
7+
dest=/etc/rsyslog.d/22-loggly.conf
8+
owner=root
9+
group=root
10+
11+
- name: create runnable bin directory
12+
tags: loggly
13+
sudo: yes
14+
file:
15+
path=/opt/runnable/bin
16+
state=directory
17+
mode=0755
18+
owner=ubuntu
19+
group=ubuntu
20+
21+
- name: copy rotate util script
22+
tags: loggly
23+
sudo: yes
24+
template:
25+
src=rotate-logs.sh.j2
26+
dest=/opt/runnable/bin/rotate-{{ name }}-logs.sh
27+
mode=0755
28+
29+
- name: copy app config
30+
tags: loggly
31+
sudo: yes
32+
template:
33+
src=21-output-syslog.conf.j2
34+
dest=/etc/rsyslog.d/21-rotated-{{ name }}.conf
35+
owner=root
36+
group=root
37+
38+
- name: copy rsyslog config
39+
tags: loggly
40+
sudo: yes
41+
template:
42+
src=rsyslog.conf.j2
43+
dest=/etc/rsyslog.conf
44+
owner=root
45+
group=root
46+
47+
- name: stop rsyslog
48+
tags: [loggly, deploy]
49+
sudo: yes
50+
service: name=rsyslog state=stopped
51+
52+
- name: clear rsyslog state file
53+
tags: [loggly, deploy]
54+
sudo: yes
55+
file:
56+
path=/var/spool/rsyslog/stat-{{ name }}
57+
state=absent
58+
59+
- name: check for current log file
60+
tags: [loggly, deploy]
61+
stat: path=/var/log/{{ name }}
62+
register: log_file
63+
64+
- name: remove old log file
65+
when: log_file.stat.exists
66+
tags: [loggly, deploy]
67+
sudo: yes
68+
file:
69+
path=/var/log/{{ name }}.log
70+
state=absent
71+
72+
# outside of ansible, upstart will write to logfile as root; this is a bandaid until we change upstart's behavior - TODO, cneill 12/16/2015
73+
# the log destination for npm is set inside the dock-init repo.
74+
- name: touch the log file
75+
tags: [loggly, deploy]
76+
sudo: yes
77+
file:
78+
path=/var/log/{{ name }}.log
79+
state=touch
80+
owner=syslog
81+
group=adm
82+
83+
- name: restart rsyslog
84+
tags: [loggly, deploy]
85+
sudo: yes
86+
service: name=rsyslog state=restarted

ansible/roles/loggly/templates/21-output-syslog.conf.j2 renamed to ansible/roles/loggly-rotate/templates/21-output-syslog.conf.j2

File renamed without changes.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# -------------------------------------------------------
2+
# Syslog Logging Directives for Loggly (sandboxes.loggly.com)
3+
# -------------------------------------------------------
4+
5+
# Define the template used for sending logs to Loggly. Do not change this format.
6+
$template LogglyFormat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [f673760d-e0b3-4a93-a15e-2862ea074f91@41058] %msg%\n"
7+
8+
$WorkDirectory /var/spool/rsyslog # where to place spool files
9+
$ActionQueueFileName fwdRule1 # unique name prefix for spool files
10+
$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
11+
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
12+
$ActionQueueType LinkedList # run asynchronously
13+
$ActionResumeRetryCount -1 # infinite retries if host is down
14+
15+
# Send messages to Loggly over TCP using the template.
16+
*.* @@logs-01.loggly.com:514;LogglyFormat
17+
18+
# -------------------------------------------------------
File renamed without changes.
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# /etc/rsyslog.conf Configuration file for rsyslog.
2+
#
3+
# For more information see
4+
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
5+
#
6+
# Default logging rules can be found in /etc/rsyslog.d/50-default.conf
7+
$MaxMessageSize 1024k
8+
9+
#################
10+
#### MODULES ####
11+
#################
12+
13+
$ModLoad imuxsock # provides support for local system logging
14+
$ModLoad imklog # provides kernel logging support
15+
#$ModLoad immark # provides --MARK-- message capability
16+
17+
# provides UDP syslog reception
18+
$ModLoad imudp
19+
$UDPServerRun 514
20+
21+
# provides TCP syslog reception
22+
$ModLoad imtcp
23+
$InputTCPServerRun 514
24+
25+
# Enable non-kernel facility klog messages
26+
$KLogPermitNonKernelFacility on
27+
28+
###########################
29+
#### GLOBAL DIRECTIVES ####
30+
###########################
31+
32+
#
33+
# Use traditional timestamp format.
34+
# To enable high precision timestamps, comment out the following line.
35+
#
36+
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
37+
38+
# Filter duplicated messages
39+
$RepeatedMsgReduction on
40+
41+
#
42+
# Set the default permissions for all log files.
43+
#
44+
$FileOwner syslog
45+
$FileGroup adm
46+
$FileCreateMode 0640
47+
$DirCreateMode 0755
48+
$Umask 0022
49+
$PrivDropToUser syslog
50+
$PrivDropToGroup syslog
51+
52+
#
53+
# Where to place spool and state files
54+
#
55+
$WorkDirectory /var/spool/rsyslog
56+
57+
#
58+
# Include all config files in /etc/rsyslog.d/
59+
#
60+
$IncludeConfig /etc/rsyslog.d/*.conf

ansible/roles/loggly/tasks/main.yml

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,12 @@
88
owner=root
99
group=root
1010

11-
- name: create runnable bin directory
12-
tags: loggly
13-
sudo: yes
14-
file:
15-
path=/opt/runnable/bin
16-
state=directory
17-
mode=0755
18-
owner=ubuntu
19-
group=ubuntu
20-
21-
- name: copy rotate util script
22-
tags: loggly
23-
sudo: yes
24-
template:
25-
src=rotate-logs.sh.j2
26-
dest=/opt/runnable/bin/rotate-{{ name }}-logs.sh
27-
mode=0755
28-
29-
- name: remove file monitor config
30-
tags: loggly
31-
sudo: yes
32-
file:
33-
dest=/etc/rsyslog.d/21-filemonitoring-{{ name }}.conf
34-
state=absent
35-
3611
- name: copy app config
3712
tags: loggly
3813
sudo: yes
3914
template:
40-
src=21-output-syslog.conf.j2
41-
dest=/etc/rsyslog.d/21-rotated-{{ name }}.conf
15+
src=21-filemonitoring-app.conf.j2
16+
dest=/etc/rsyslog.d/21-filemonitoring-{{ name }}.conf
4217
owner=root
4318
group=root
4419

@@ -76,17 +51,6 @@
7651
path=/var/log/{{ name }}.log
7752
state=absent
7853

79-
# outside of ansible, upstart will write to logfile as root; this is a bandaid until we change upstart's behavior - TODO, cneill 12/16/2015
80-
# the log destination for npm is set inside the dock-init repo.
81-
- name: touch the log file
82-
tags: [loggly, deploy]
83-
sudo: yes
84-
file:
85-
path=/var/log/{{ name }}.log
86-
state=touch
87-
owner=syslog
88-
group=adm
89-
9054
- name: restart rsyslog
9155
tags: [loggly, deploy]
9256
sudo: yes

0 commit comments

Comments
 (0)