Essential Ops Tools Every Operations Engineer Must Know
One day I was invited to a BBS event, and the following content came out of it.
Below is a list of free, open-source software that I, Old Boy, have frequently used in recent years for Linux website operations. I came up with it off the top of my head and am sharing it here in hopes of giving beginners a bit of guidance.
The Linux world is truly fascinating — if you haven’t gotten started yet, come on in!
Operating Systems: Centos※,Ubuntu,Redhat※,suse,Freebsd
Web Services: nginx※,apache※,lighttpd,php※,tomcat※,resin※
Databases: MySQL※,Mysql-proxy,MariaDB,PostgreSQL
Proxy & Load Balancing: lvs,keepalived,haproxy,nginx,apache,heartbeat (all marked※)
Web Caching: squid※,nginx※,varnish
NoSQL Databases: memcached※,memcachedb,TokyoTyrant※,MongoDB※,Cassandra※,redis※,CouchDB
Storage: Nfs※,Moosefs(mfs)※,Hadoop※,glusterfs※,lustre,FastDFS
Version Control: svn※,git※
Monitoring & Alerting: nagios※,cacti※,zabbix※,munin,hyperic,mrtg
DNS Services: bind※,powerdns,dnsmasq※
Sync Tools: rsync※,inotify※,sersync※,drbd※,csync2,union,lsyncd,scp※
Batch Management: ssh+rsync+sersync※,Saltstack※,expect※,puppet※,cfengine
Virtualization: kvm※,xen※
Cloud Computing: openstack※,cloudstack
Intranet Software: iptables※,zebra※,iftraf,ntop※,tc※,iftop
Mail Software: qmail※,posfix※,sendmail
Remote Dial-up: openvpn※,pptp,openswan※,ipip※
Unified Authentication: openldap (can integrate with Microsoft Active Directory)※
Queue Tools: ActiveMQ,RabbitMQ※,Metaq,MemcacheQ,Zeromq
Build & Release: mvn※,ants※,jenkins※
Testing Software: apacheab,smokeping,siege,JMeter,Webbench,LoadRunner (all marked with ※ in this row)
Logging Related: syslog,rsyslog,Awstats,flume logstash scribe kafka
DB Proxy: mysql-proxy,amoeba (though read-write splitting is more often implemented at the application level)
Search Software: Sphinx,Xapian (large companies tend to develop their own small-scale internal search engines similar to Baidu)
Tips:
1) All software listed above has been used or tested by Old Boy.
2) Those marked with ※ have been used more frequently by Old Boy in recent years and are considered trusted. They are also mainstream in the Linux operations field in recent years.
3) With these functional categories and software names, whenever you have a need, you can simply search for the software by function on Google to learn more.
4) In learning, you must know what to keep and what to let go. Trying to grasp everything at once inevitably means you won’t master anything deeply in a short time. I hope you can focus on the key points and essence. First, become proficient in the mainstream software (marked with ※) — this is the foundation and improvement. Then study niche software (without ※) — this is the path to becoming an expert. Finally, delve into the obscure — the path to becoming a master. Of course, the prerequisite is mastering the mainstream and niche ones first.
5) Of course, there are some excellent tools without mainstream open-source alternatives, such as audit bastion host programs.
If anyone else uses additional tools frequently, please add them below.