Log Insight Agent: Automated Agent Configuration

I was recently asked if it was possible to automate the configuration of Log Insight agents. More specifically, the request was to modify an agent configuration as new applications were brought up on a system. In this post, I will cover a couple of ways to automate agent configuration.
li-agent

Client-side

Assuming you are automating application standup on the client side, as part of the automation you could configure the Log Insight agent. This can be done by editing the liagent.ini file. To ease configuration management you could use a configuration management tool like Puppet or if you are comfortable managing the configuration yourself you could add it to the application automation you are already leveraging.
Since there are a lot of configuration management tools out there and the liagent.ini is well documented, I will leave client-side automation up to you.

Server-side

If you are looking for an easy way to handle agent configuration management for both Windows and Linux then I would recommend server-side configuration. While there is no configuration API today, since server-side configuration is possible from the UI, automation via cURL commands is possible. In short, you will need to get a cookie, authenticate with Log Insight, and save a new agent configuration. Below is a script that will do that for you.
IMPORTANT:

  • The below script requires that the agent configuration be put in a separate file that is passed to the script
  • Since this is a server-side configuration, only filelog and winlog configuration can be passed
  • The configuration passed to the script will OVERRIDE any existing server-side configuration so be sure you are merging your changes with the current configuration.
#!/usr/bin/env bash
LI_FQDN=loginsight.example.com
LI_ADMIN_USERNAME=admin
LI_ADMIN_PASSWD=password
if [ -z "$1" ]; then echo "USAGE: $0 "; exit; else CONFIG=$1; fi
 
# get a session id
curl --insecure -c cookies https://$LI_FQDN/
 
# authenticate
curl --insecure -b cookies --data 'username=$LI_ADMIN_USERNAME&password=$LI_ADMIN_PASSWD&login=Login' https://$LI_FQDN/login
# modify agent configuration
curl -b cookies --insecure --data-urlencode "agentConfigText=$(cat $CONFIG)" -d "_eventName=applyAgentsConfig" https://$LI_FQDN/admin/agents

© 2015, Steve Flanders. All rights reserved.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top