[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

Debuging commands running on memcached

I had strange statistics on one memcached servers. I had to look what it’s doing there. I found such commands1 that may be used to sniff, extract and make statistics from running memcached server. Debug GET commands Show only GET commands sent to memcached tcpflow -c dst port 11211 | cut -b46- | grep ^get cut command will remove 46 bytes at beginning of every string (src, dst, port). You may need to adjust numeric parameter for cut to leave commands only. Output should look like: ...

2016-07-13 · 2 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

How to stole ssh session when you’re root

It happen to me all the time that one of developers notifies me about some kind of problem that I can’t confirm from my account. Sometimes it was because of bad ssh keys configuration, other times file permissions, mostly such stuff. It’s sometimes convenient to “enter into someone’s shoes” to see what’s going on there. If you’re root on machine you may do that like this: Switch to developer user su developer - Easy one but that’s not enough for all cases. When you use bastion host (or similar solutions) sometimes users have connection problems and it’s harder to check. When such user have ForwardAgent ssh option enabled you may stole this session to check login problems. ...

2016-04-27 · 2 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

Tweaking ASUS Zenbook UX305CA on Linux

Lately I was searching for mobile notebook that I could use for remote work. I checked f ThinkPad series but they were huge bricks that have nothing in common with ‘mobile’ word. Then I saw ASUS Zenbook that I didn’t take into account before and it was exactly what I was searching for. Configuration of Skylake based notebook right now is not straightforward - there are still glitches and small bugs that are waiting to be fixed. I want to sum up what I’ve done after installation. I started with fresh Ubuntu 16.04 to get Debian based distro with possibly latest kernel and patches. ...

2016-04-21 · 11 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

Automatically build after file change

I’m playing a lot with Docker lately. Building images, and then rebuilding, and then building again… It’s pretty boring. To automate this task a little I used inotify to build automatically after I changed any file. This trick could be used in many different situations. On Linux You will need inotify-tools package: Install inotify-tools on Linux sudo apt-get install -y inotify-tools Then run something like this: ...

2016-02-23 · 1 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

Use www.horizon.tv with Pipelight/Silverlight on Linux/Ubuntu

From few days I have access to UPC’s www.horizon.tv  external link platform - until now it was useless on Linux. But there is Pipelight that will use Wine to emulate Silverlight on Linux and it’s working pretty well - you’re just few commands away from achieving that: # stop browser killall firefox # remove old version if you have it sudo apt-get remove pipelight Now configure repos and install packages: ...

2016-02-09 · 1 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

Intel Dual Band Wireless-AC 7260 for Desktop on Linux

I just bought new wifi card for my desktop computer. Like in topic, it’s Intel Dual Band Wireless-AC 7260 for Desktop  external link . I was searching for card that: support AC standard have 5GHz network support (2,4GHz channels are cluttered heavily in my neighborhood have PCI/PCIx or USB3 connector is Linux friendly (no modules compilation by hand, support for aircrack-ng, kismet) This one is the only I found that comply my expectations. ...

2016-02-06 · 3 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

Optimize Nginx for performance

There are many possible real life cases and not all optimization technics will be suitable for you but I hope it will be a good starting place. Also you shouldn’t copy paste examples with faith that they will make your server fly 😃 You have to support your decisions with excessive tests and help of monitoring system (ex. Grafana ). Cache static and dynamic content Setting caching static and dynamic content strategy may offload your server from additional load from repetitive downloads of same, rarely updated files. This will make your site to load faster for frequent visitors. ...

2016-01-14 · 7 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

XenServer - export VM to file

Sometime you need to make quick and dirty image backup of VM running on XenServer and this post is about such case 😃 List machines: xl list Name ID Mem VCPUs State Time(s) Domain-0 0 4066 8 r----- 3526567.3 webfront1.example.com 1 4096 4 r----- 3186487.2 webfront2.example.com 2 2048 2 -b---- 920408.2 Now you may export one: xe vm-export vm=webfront1.example.com filename=/srv/backup/webfront.xva Export succeeded You may also use uuid for that - list machines with xe vm-list (best with less) and then: ...

2016-01-12 · 1 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

Nagios - downtime on host/service from command line with curl

Sometimes deployment process or other heavy task may cause some Nagios checks to rise below normal levels and bother admin1. If this is expected and you want to add downtime on host/service during this task you may use this script: #!/bin/bash function die { echo $1; exit 1; } if [[ $# -eq 0 ]] ; then die "Give hostname and time in minutes as parameter!" fi if [[ $# -eq 1 ]] ; then MINUTES=15 else MINUTES=$2 fi HOST=$1 NAGURL=http://nagios.example.com/nagios/cgi-bin/cmd.cgi USER=nagiosuser PASS=nagiospassword SERVICENAME=someservice COMMENT="Deploying new code" export MINUTES echo "Scheduling downtime on $HOST for $MINUTES minutes..." # The following is urlencoded already STARTDATE=`date "+%d-%m-%Y %H:%M:%S"` # This gives us the date/time X minutes from now ENDDATE=`date "+%d-%m-%Y %H:%M:%S" -d "$MINUTES min"` curl --silent --show-error \ --data cmd_typ=56 \ --data cmd_mod=2 \ --data host=$HOST \ --data-urlencode "service=$SERVICENAME" \ --data-urlencode "com_data=$COMMENT" \ --data trigger=0 \ --data-urlencode "start_time=$STARTDATE" \ --data-urlencode "end_time=$ENDDATE" \ --data fixed=1 \ --data hours=2 \ --data minutes=0 \ --data btnSubmit=Commit \ --insecure \ $NAGURL -u "$USER:$PASS"| grep -q "Your command request was successfully submitted to Nagios for processing." || die "Failed to con tact nagios"; echo Scheduled downtime on nagios from $STARTDATE to $ENDDATE Threat this script as template with some tips: ...

2016-01-11 · 2 min · Tom
[Photo by Tima Miroshnichenko](https://www.pexels.com/photo/close-up-view-of-system-hacking-in-a-monitor-5380664/)

Grafana - installation and configuraton with InfluxDB and CollectD on Debian/Ubuntu

Now when you have CollectD and InfluxDB installed you may configure Grafana 😃 First configure repo with current Grafana version (select your distro): curl https://packagecloud.io/gpg.key | sudo apt-key add - deb https://packagecloud.io/grafana/testing/debian/ wheezy main Now install package (on wheezy I needed to install apt-transport-https to allow installation of packages from repo via HTTPS): apt-get update apt-get install -y apt-transport-https apt-get install -y grafana By default Grafana will use sqlite database to keep information about users, etc: ...

2016-01-10 · 2 min · Tom