Current splunkforwarder version is 9.2
root@aix01 /root> cat /opt/splunkforwarder/etc/splunk.version VERSION=9.0.1 BUILD=82c987350fde PRODUCT=splunk PLATFORM=AIX-powerpc
Create a user splunk and group
check the right limits
root@aix01 /root> mkgroup id=2500 splunk root@aix01 /root> mkuser id=2500 pgrp=splunk groups=staff,splunk fsize=-1 data=2621440 rss=262144 splunk root@aix01 /root> lsuser -f splunk splunk: id=2500 pgrp=staff groups=staff,splunk home=/home/splunk shell=/usr/bin/ksh login=true su=true rlogin=true daemon=true admin=false umask=27 account_locked=false fsize=-1 cpu=-1 data=2139095040 stack=65536 core=0 rss=1073741824 nofiles=8192 core_hard=0
Untar the splunk forwarder package and start install, as splunk user
rootaix01 /opt> chown -R splunk.splunk /opt/splunkforwarder splunk@aix01 /home/splunk> /opt/splunkforwarder/bin/splunk start --accept-license --answer-yes --auto-ports --no-prompt This appears to be your first time running this version of Splunk. Splunk> CSI: Logfiles. Checking prerequisites... Checking mgmt port [8089]: open Creating: /opt/splunkforwarder/var/lib/splunk Creating: /opt/splunkforwarder/var/run/splunk Creating: /opt/splunkforwarder/var/run/splunk/appserver/i18n Creating: /opt/splunkforwarder/var/run/splunk/appserver/modules/static/css Creating: /opt/splunkforwarder/var/run/splunk/upload Creating: /opt/splunkforwarder/var/run/splunk/search_telemetry Creating: /opt/splunkforwarder/var/spool/splunk Creating: /opt/splunkforwarder/var/spool/dirmoncache Creating: /opt/splunkforwarder/var/lib/splunk/authDb Creating: /opt/splunkforwarder/var/lib/splunk/hashDb New certs have been generated in '/opt/splunkforwarder/etc/auth'. Checking conf files for problems... Invalid key in stanza [webhook] in /opt/splunkforwarder/etc/system/default/alert_actions.conf, line 229: enable_allowlist (value: false). Your indexes and inputs configurations are not internally consistent. For more information, run 'splunk btool check --debug' Done Checking default conf files for edits... Validating installed files against hashes from '/opt/splunkforwarder/splunkforwarder-9.0.1-82c987350fde-AIX-powerpc-manifest' All installed files intact. Done All preliminary checks passed. Starting splunk server daemon (splunkd)... execve: Permission denied while running command /usr/bin/startsrc Splunk boot-start is enabled. please use /usr/bin/startsrc -s splunkd to start splunk
Create ass root a service splunkd
root@aix01 /opt> /opt/splunkforwarder/bin/splunk enable boot-start -user splunk 0513-071 The splunkd Subsystem has been added. SRC subsystem group installed. SRC subsystem group is configured to run at boot. root@aix01 /opt> odmget -q subsysname="splunkd" SRCsubsys SRCsubsys: subsysname = "splunkd" synonym = "" cmdargs = "_internal_exec_splunkd" path = "/opt/splunkforwarder/bin/splunk" uid = 1601 auditid = 0 standin = "/dev/console" standout = "/dev/console" standerr = "/dev/console" action = 1 multi = 0 contact = 2 svrkey = 0 svrmtype = 0 priority = 20 signorm = 2 sigforce = 9 display = 1 waittime = 20 grpname = "splunk" root@aix01 /opt> cat /etc/inittab splunk:2:once:/usr/bin/startsrc -g splunk > /dev/console 2>&1 root@aix01 /opt> lssrc -a | grep -i splunk splunkd splunk inoperative root@aix01 /opt> ps -ef | grep splu splunk 11207102 1 2 16:41:57 - 0:00 splunkd -p 8089 start splunk 11338186 11207102 0 16:41:57 - 0:00 [splunkd pid=11207102] splunkd -p 8089 start [process-runner] root@aix01 /opt> kill 11207102 11338186 root@aix01 /opt> startsrc -s splunkd 0513-059 The splunkd Subsystem has been started. Subsystem PID is 7995758. root@aix01 /opt> ps -ef | grep splu root 6881638 10748408 0 16:47:50 pts/0 0:00 grep splu splunk 7995758 5898518 120 16:47:48 - 0:00 splunkd --nodaemon -p 8089 _internal_exec_splunkd splunk 11469220 7995758 0 16:47:50 - 0:00 [splunkd pid=7995758] splunkd --nodaemon -p 8089 _internal_exec_splunkd [process-runner] root@aix01 /opt> lssrc -a | grep -i splunk splunkd splunk 7995758 active
Debug (if needed)
root@aix01 /root> /opt/splunkforwarder/bin/splunk btool check --debug
Script to Upgrade/install splunk agent
[root@nim01]/root/scripts> cat install_splunk.sh #!/bin/ksh93 # V1.0 initial version splunk_version="VERSION=9.2.1" echo "Install/Upgrade Splunk VERSION=9.2.1" #----------------------- create_user() { echo "Add user splunk" mkgroup -a id=1500 splunk mkuser -a id=1500 pgrp=splunk gecos='splunk' splunk lsgroup splunk ; lsuser -a id pgrp groups splunk chuser fsize=-1 data=2621440 rss=262144 splunk chgrpmem -m + splunk oinstall 2>/dev/null } #----------------------- create_fs() { echo "Create /opt/splunkforwarder filesystem" mv /opt/splunkforwarder /opt/splunkforwarder1 mkdir /opt/splunkforwarder chmod a+rx /opt/splunkforwarder mklv -t jfs2 -y splunklv rootvg 1G crfs -vjfs2 -m /opt/splunkforwarder -d splunklv -Ayes -a log=INLINE mount /opt/splunkforwarder chown splunk:splunk /opt/splunkforwarder mv /opt/splunkforwarder1/* /opt/splunkforwarder rm -r /opt/splunkforwarder1 startsrc -s splunkd } #----------------------- stop_splunk() { echo "Stop process" stopsrc -g splunk for i in $(ps -ef | grep -v grep | grep splunk | grep -v install_splunk | awk '{print $2}') do kill $i done ps -ef | grep splunkd |grep -v grep } #----------------------- backup() { mkdir -p /opt/splunkforwarder mkdir -p /root/old cd /opt/splunkforwarder/etc/system/; tar cvf /root/old/splunk_local.tar local rm /etc/rc.d/init.d/splunkforwarder /etc/rc.d/rc2.d/K10splunkforwarder /etc/rc.d/rc2.d/S10splunkforwarder } #----------------------- install_bin() { echo "Install Splunk" mount nim01:/repository1/splunk/aix /mnt cd /opt tar xvf /mnt/splunkforwarder-9.2.1-78803f08aabb-AIX-powerpc.tar umount /mnt } #----------------------- rebuild_outputs() { echo "Overwrite: outputs.conf" cat > /opt/splunkforwarder/etc/system/local/outputs.conf << EOF [tcpout] defaultGroup = default-autolb-group [tcpout:default-autolb-group] server = splunk-prd.xxx:9997 [tcpout-server://splunk-prd.xxx:9997] EOF } #----------------------- build_inputs() { echo "Overwrite: inputs.conf" cat > /opt/splunkforwarder/etc/system/local/inputs.conf.tmp << EOF [default] host=myhostname disabled=0 ignoreOlderThan = 30d EOF host2=`echo "host="$(hostname -s)` cat /opt/splunkforwarder/etc/system/local/inputs.conf.tmp | sed "s/host=aixa065/$host2/" > /opt/splunkforwarder/etc/system/local/inputs.conf rm /opt/splunkforwarder/etc/system/local/inputs.conf.tmp } #----------------------- rebuild_inputs() { echo "Modify: inputs.conf" cp /opt/splunkforwarder/etc/system/local/inputs.conf /opt/splunkforwarder/etc/system/local/inputs.conf.tmp1 build_inputs grep -vp '\[default\]' /opt/splunkforwarder/etc/system/local/inputs.conf.tmp1 >> /opt/splunkforwarder/etc/system/local/inputs.conf rm /opt/splunkforwarder/etc/system/local/inputs.conf.tmp1 } #----------------------- rebuild_server() { echo "Modify: server.conf" cp /opt/splunkforwarder/etc/system/local/server.conf /opt/splunkforwarder/etc/system/local/server.conf.tmp cat /opt/splunkforwarder/etc/system/local/server.conf.tmp | sed "s/^serverName\ =\ .*/serverName\ =\ $(hostname -s)/" > /opt/splunkforwarder/etc/system/local/server.conf rm /opt/splunkforwarder/etc/system/local/server.conf.tmp } #----------------------- change_owner() { chown -R splunk:splunk /opt/splunkforwarder } #----------------------- configure() { echo "Configure" su - splunk -c "/opt/splunkforwarder/bin/splunk start --accept-license --answer-yes --auto-ports --no-prompt" /opt/splunkforwarder/bin/splunk enable boot-start -user splunk startsrc -s splunkd } #----------------------- check_status() { echo "Check" lssrc -Ss splunkd odmget -q subsysname="splunkd" SRCsubsys startsrc -s splunkd lssrc -s splunkd /opt/splunkforwarder/bin/splunk btool check --debug echo "Process" ps -ef | grep -v grep | grep splunk | grep -v install_splunk } ######################## # main ######################## version=$(cat /opt/splunkforwarder/etc/splunk.version | grep VERSION) create_user if [[ $(df -g | grep -c '/opt/splunkforwarder') == "0" ]] then stop_splunk create_fs fi if [[ "$version" != "$splunk_version" ]] then stop_splunk backup install_bin if [[ "$(grep -c 'splunk-prd.xxx' /opt/splunkforwarder/etc/system/local/outputs.conf 2>/dev/null)" != "2" ]] then rebuild_outputs fi if [ -e /opt/splunkforwarder/etc/system/local/inputs.conf ] then host1=$(grep -p '\[default\]' /opt/splunkforwarder/etc/system/local/inputs.conf | grep '^host=') host2=`echo "host="$(hostname -s)` if [[ "$host1" != "$host2" ]] then rebuild_inputs fi else build_inputs fi change_owner configure fi if [[ "$(grep -c 'splunk-prd.xxx' /opt/splunkforwarder/etc/system/local/outputs.conf 2>/dev/null)" != "2" ]] then rebuild_outputs stop_splunk fi if [ -e /opt/splunkforwarder/etc/system/local/inputs.conf ] then host1=$(grep -p '\[default\]' /opt/splunkforwarder/etc/system/local/inputs.conf | grep '^host=') host2=`echo "host="$(hostname -s)` if [[ "$host1" != "$host2" ]] then rebuild_inputs change_owner stop_splunk fi else build_inputs change_owner stop_splunk fi if [ -e /opt/splunkforwarder/etc/system/local/server.conf ] then host1=$(grep '^serverName' /opt/splunkforwarder/etc/system/local/server.conf | sed 's/\ //g') host2=`echo "serverName=$(hostname -s)` if [[ "$host1" != "$host2" ]] then rebuild_server stop_splunk change_owner fi fi stopsrc -s splunkd; sleep 2; startsrc -s splunkd check_status