Posts By: jonny

Hostname Completion

Shell

Courtesy of Pete in work. To enable hostname auto completion in Bash, do the following: dig pop @dns.server.tld axfr | awk ‘$4 ~ /\yA\y/ && gsub(/.$/,””,$1) {print $1}’ > ~/.hosts If you would prefer to filter out hosts e.g. dev and swi, change awk to: awk ‘$4 ~ /\yA\y/ && ! /dev/ && ! /swi/… Read more »

Changing Dell iDRAC Password with racadm

Shell

The default user and password combination for a Dell iDRAC interface is root / calvin It can be manually reset when logging in to the web interface but when doing many machines at once and many actions at the same time the racadm tool is handy. To change the password use: racadm -r 192.168.1.23 -u… Read more »

Querying Zookeeper from Python

Install the prerequisites. Below works for Debian-based distros such as Ubuntu/Mint: apt-get install libzookeeper-mt-dev Install python libraries: pip install zkpython pykeeper Example code below shows making a connection, getting the names of some child nodes and pulling info from each of those child nodes: import pykeeper import json client = pykeeper.ZooKeeper(‘192.168.1.2:2181’) client.connect() coords = client.get_children(‘/druid/coordinator/_COORDINATOR’)… Read more »

Install check_mk on Ubuntu 18.04

Ubuntu 18.04 includes check-mk in the repository version but it is an older version 1.2.8 (at the time of writing). Download check mk raw (get the latest stable URL from the website) : wget https://mathias-kettner.de/support/1.5.0p7/check-mk-raw-1.5.0p7_0.bionic_amd64.deb Try installing it: dpkg -i dpkg -i check-mk-raw-*.deb You may get dependency issues which can be resolved with: apt-get install… Read more »

iDRAC 9 Set Physical Disk to Non-RAID

In the update from iDRAC 8 to iDRAC 9 it has been infuriating searching the ‘Storage’ menu only to discover that the storage is managed under ‘Configuration > Storage Configuration’  I’m convinced the user experience could be better! At the very least a link through for configuration.

Clearing old Journald Logs

Journald logs can be cleared by timescale or size as follows. Keep only 5 days worth of logs journalctl –vacuum-time=5d Retain only the past 500 MB: journalctl –vacuum-size=500M

Checking if Puppet is Disabled

The puppet agent can be disabled from running with: puppet disable “Some message here” And it can be re-enabled with: puppet enable But to check if puppet is currently disabled there is no check command. Instead look for the existence of the agent_disabled.lock file under: $vardir/state/agent_disabled.lock For the systems I was checking this was at:… Read more »

Exclude Directories for Disk Usage (du)

ncdu

I sometimes want to omit directories from my disk usage (du -sh *) checks. This includes virtual files systems such as proc / dev and also mounts to other filesystems (data in the example below). This is what works for me: du –exclude={proc,sys,dev,data} -sh * The equals sign appears to be optional and worked both… Read more »

Joining Multi-line Output with Paste

Shell

I was checking the memory on approximately 140 servers using ansible: ansible –user root -k -i servers.list -m shell -a “free -h; mysql” test but the output appears over several lines e.g. server103.domain.dev | SUCCESS | rc=0 >> total used free shared buffers cached Mem: 94G 44G 49G 59M 203M 4.6G -/+ buffers/cache: 39G 54G… Read more »

Datanode denied communication with namenode

In a Cloudera cluster we had a few nodes reporting the following error message in the logs under hadoop-cmf-hdfs-DATANODE-whatever.com.log.out The error included: Datanode denied communication with namenode because the host is not in the include-list: : DatanodeRegistration One solution could be to ‘Refresh Node List’ as shown in the screenshot below. Find it by clicking… Read more »