Skip to content

Instantly share code, notes, and snippets.

@asachs01
Created May 17, 2019 15:54
Show Gist options
  • Save asachs01/ecf83fe92624e7f346d2c5362d825e1c to your computer and use it in GitHub Desktop.
Save asachs01/ecf83fe92624e7f346d2c5362d825e1c to your computer and use it in GitHub Desktop.
Running Sensu on OSX
#!/bin/sh
create_sensu_user_group()
{
# create sensu group
set +e
dscl . -list /Groups | grep "^_sensu" > /dev/null
RC=$?
set -e
if [ "${RC}" != "0" ]; then
last_used_gid=`dscacheutil -q group | grep gid | tail -n 1 | awk '{ print $2 }'`
sensu_gid=`echo "$last_used_gid + 1" | bc`
dscl . -create Groups/_sensu
dscl . -create Groups/_sensu PrimaryGroupID $sensu_gid
fi
# create sensu user
set +e
dscl . -list /Users | grep "^_sensu" > /dev/null
RC=$?
set -e
if [ "${RC}" != "0" ]; then
sensu_gid=`dscl . -read /Groups/_sensu | awk '($1 == "PrimaryGroupID:") { print $2 }'`
dscl . -create /Users/_sensu UniqueID $sensu_gid
dscl . -create /Users/_sensu PrimaryGroupID $sensu_gid
dscl . -create /Users/_sensu UserShell /usr/bin/false
fi
}
create_sensu_user_group
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.sensu.sensu-agent.plist</string>
<key>UserName</key><string>_sensu</string>
<key>GroupName</key><string>_sensu</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/sensu-agent</string>
<string>start</string>
</array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
<key>StandardOutPath</key>
<string>/var/log/sensu/sensu-agent.log</string>
<key>StandardErrorPath</key>
<string>/var/log/sensu/sensu-agent.log</string>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment