Server

From Things and Stuff Wiki
Revision as of 22:16, 12 October 2023 by Milk (talk | contribs) (→‎General)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


General

See also *nix, Distros, Stack, SaaS, Virtualisation, Network, Web systems, Computer, etc.





  • http://namingschemes.com - A good naming scheme is scalable, unique, and easy to remember. The purpose of these naming schemes is to name networked servers, wireless access points or client computers, but it can also be used to name projects, products, variables, streets, pets, kids, or any other project where unique names and rememberable names are required. By the way, if you are actually going to use one of these themes, be sure to read RFC 1178 and RFC 2100. [1]


  • https://en.wikipedia.org/wiki/Directory_service - or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network resources, which can include volumes, folders, files, printers, users, groups, devices, telephone numbers and other objects. A directory service is a critical component of a network operating system. A directory server or name server is a server which provides such a service. Each resource on the network is considered an object by the directory server. Information about a particular resource is stored as a collection of attributes associated with that resource or object.

See DNS


  • Tweaked.io - This site is dedicated to information relating to tweaking, tuning, and optimizing your server-software. Steve Kemp.












  • Local-first software: You own your data, in spite of the cloud - In this article we propose “local-first software”: a set of principles for software that enables both collaboration and ownership for users. Local-first ideals include the ability to work offline and collaborate across multiple devices, while also improving the security, privacy, long-term preservation, and user control of data. We survey existing approaches to data storage and sharing, ranging from email attachments to web apps to Firebase-backed mobile apps, and we examine the trade-offs of each. We look at Conflict-free Replicated Data Types (CRDTs): data structures that are multi-user from the ground up while also being fundamentally local and private. CRDTs have the potential to be a foundational technology for realizing local-first software.
  • Local-First Web Development - So, you want to build an app that has its data co-located with its UI? That works offline? That synchronizes between clients? And that lets its users own their data?



Guides

  • https://github.com/mikeroyal/Self-Hosting-Guide - Self-Hosting Guide. Learn all about locally hosting (on premises & private web servers) and managing software applications by yourself or your organization. Including Cloud, WireGuard, Automation, Home Assistant, and Networking.
  • Tech Independence | Derek Sivers - Tech independence is not depending on any particular company or software. The only tools you need are the common open source basics built into any Linux or BSD operating system — free public-domain tools that are not owned by anyone, and can run on any computer.

Hosting

See Hosting

  • https://en.wikipedia.org/wiki/Colocation_centre - also spelled co-location, or colo) or "carrier hotel", is a type of data centre where equipment, space, and bandwidth are available for rental to retail customers. Colocation facilities provide space, power, cooling, and physical security for the server, storage, and networking equipment of other firms—and connect them to a variety of telecommunications and network service providers—with a minimum of cost and complexity.






System administration

  • https://en.wikipedia.org/wiki/System_administrator - or sysadmin, is a person who is responsible for the upkeep, configuration, and reliable operation of computer systems; especially multi-user computers, such as servers. The system administrator seeks to ensure that the uptime, performance, resources, and security of the computers he or she manages meet the needs of the users, without exceeding a set budget when doing so. To meet these needs, a system administrator may acquire, install, or upgrade computer components and software; provide routine automation; maintain security policies; troubleshoot; train or supervise staff; or offer technical support for projects.


history
history info | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s 
w
last -a
uname -a
grep -H  /etc/*release /proc/version
df -h
free -m
who
id
netstat -tlpnu
iptables -nvxL
ss -s
top
ps auxf
dmesg |less
ls -lR /etc/cron*
tail /var/log/*
cat /proc/cpuinfo
lsblk -io KNAME,TYPE,SIZE,MODEL 
findmnt
env


Services

See also *nix#init, Network#Services

sudo /etc/init.d/<service> restart
  SysV

sudo systemctl restart <service>
  Systemd

Monitoring

See also Network#Monitoring, *nix#Monitoring

If it's up... A.K.A... It's down... per year
90% n/a 876 hours
95% n/a 438 hours
99% two 9s 87 hours, 36 minutes
99.9% three 9s 8 hours, 45 minutes, 36 seconds
99.99% four 9s 52 minutes, 33.6 seconds
99.999% five 9s 5 minutes, 15.36 seconds
99.9999% six 9s 31.68 seconds

lbcd

collectd

  • collectd - a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files. collectd gathers statistics about the system it is running on and stores this information. Those statistics can then be used to find current performance bottlenecks (i.e. performance analysis) and predict future system load (i.e. capacity planning). Or if you just want pretty graphs of your private server and are fed up with some homegrown solution you're at the right place, too ;).


StatsD

  • https://github.com/statsd/statsd - A network daemon that runs on the Node.js platform and listens for statistics, like counters and timers, sent over UDP and sends aggregates to one or more pluggable backend services (e.g., Graphite). [9] [10]

Nagios

  • Nagios is a powerful monitoring system that enables organizations to identify and resolve IT infrastructure problems before they affect critical business processes. Designed with scalability and flexibility in mind, Nagios gives you the peace of mind that comes from knowing your organization's business processes won't be affected by unknown outages.
  • NagVis is a visualization addon for the well known network managment system Nagios.
  • NPC is to be a complete web based UI replacement to Nagios while fully integrating into Cacti using the Cacti Plugin Architecture. The primary benefit is a single point of access for trending and alert monitoring.

Monit

  • Monit is a free open source utility for managing and monitoring, processes, programs, files, directories and filesystems on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations.
  • M/Monit expand upon Monit's capabilities to provide monitoring and management of all Monit enabled hosts from one easy to use web-interface.

Graphite

  • Graphite - Graphite is an enterprise-ready monitoring tool that runs equally well on cheap hardware or Cloud infrastructure. Teams use Graphite to track the performance of their websites, applications, business services, and networked servers. It marked the start of a new generation of monitoring tools, making it easier than ever to store, retrieve, share, and visualize time-series data.

Splunk

  • Splunk is powerful and versatile IT search software that takes the pain out of tracking and utilizing the information in your data center. If you have Splunk, you won't need complicated databases, connectors, custom parsers or controls--all that's required is a web browser and your imagination. Splunk handles the rest.

Amon

  • Amon is an application and system monitoring toolkit for web developers. Its goal is to provide you with all the information you need about the health of your servers and the errors that occur in your web application.

Munin

Shinken

Sensu

Sysdig

  • Sysdig - open source, system-level exploration: capture system state and activity from a running Linux instance, then save, filter and analyze. Think of it as strace + tcpdump + lsof + awesome sauce. With a little Lua cherry on top.



Cacti

  • Cacti is a complete network graphing solution designed to harness the power of RRDTool's data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices.



ApacheTop

  • ApacheTop is a curses-based top-like display for Apache information, including requests per second, bytes per second, most popular URLs, etc.

Riemann

  • Riemann - aggregates events from your servers and applications with a powerful stream processing language. Send an email for every exception raised by your code. Track the latency distribution of your web app. See the top processes on any host, by memory and CPU. Combine statistics from every Riak node in your cluster and forward to Graphite. Send alerts when a key process fails to check in. Know how many users signed up right this second.

Custodian

  • Custodian - allows a wide range of services to be remotely tested across a network. The system uses a central work-queue, which allows the testing to be carried out by a agents running upon an arbitrary number of hosts.

Heka

Blueflood

  • Blueflood - a multi-tenant distributed metric processing system created by engineers at Rackspace. It is used in production by the Cloud Monitoring team to process metrics generated by their monitoring systems. Blueflood is capable of ingesting, rolling up and serving metrics at a massive scale.

Ray-Mon

  • Ray-Mon - a linux server monitoring script written in PHP and Bash, utilizing JSON as data storage. It requires only bash and a webserver on the client side, and only php on the server side.

Pinba

  • Pinba - a MySQL storage engine that acts as a realtime monitoring/statistics server for PHP using MySQL as a read-only interface. It accumulates and processes data sent over UDP by multiple PHP processes and displays statistics in a nice human-readable form of simple "reports", also providing read-only interface to the raw data in order to make possible generation of more sophisticated reports and stats.

Opserver

  • Opserver - a monitoring system by the team at Stack Exchange, home of Stack Overflow.

Centreon

  • Centreon - an free and Open Source software allowing you to monitor all the infrastructures and applications of your information system

Icinga

  • Icinga - an enterprise grade open source monitoring system which keeps watch over networks and any conceivable network resource, notifies the user of errors and recoveries and generates performance data for reporting. Scalable and extensible, Icinga can monitor complex, large environments across dispersed locations. Icinga is a fork of Nagios and is backward compatible.

Zabbix

  • Zabbix - the ultimate open source availability and performance monitoring solution. Zabbix offers advanced monitoring, alerting, and visualization features today which are missing in other monitoring systems, even some of the best commercial ones.

Xymon

  • Xymon - a system for monitoring servers and networks. It takes its inspiration from the Big Brother monitoring system, but unlike Big Brother it is designed to work well whether you need to monitor a small network with just a handful of hosts, or large networks with thousands of servers and network services.

Ganglia

  • Ganglia - a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids. It is based on a hierarchical design targeted at federations of clusters. It leverages widely used technologies such as XML for data representation, XDR for compact, portable data transport, and RRDtool for data storage and visualization.

Hyperic

  • Hyperic - web infrastructure monitoring and management software automates and streamlines data center operations. HQ helps you reduce operations workload, increase your company's IT management maturity level, and drive improvements in availability and infrastructure health.

Other





  • Packetbeat - Open Source application monitoring & packet tracing system





  • Inspeqtor monitors your application infrastructure. It gathers and verifies key metrics from all the moving parts in your application and alerts you when something looks wrong. It understands the application deployment workflow so it won't bother you during a deploy.


  • termui - Go terminal dashboard. Inspired by blessed-contrib, but purely in Go. Cross-platform, easy to compile, and fully-customizable.



Zenoss

linux-dash

GoAccess

  • GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems. It provides fast and valuable HTTP statistics for system administrators that require a visual server report on the fly.

netdata

  • netdata is a highly optimized Linux daemon providing real-time performance monitoring for Linux systems, Applications, SNMP devices, over the web! It tries to visualize the truth of now, in its greatest detail, so that you can get insights of what is happening now and what just happened, on your systems and applications. [17]

vpsinfo

  • vpsinfo - a Linux server monitoring script, written in PHP, that provides web access to system status information. It gathers the output from several common Linux commands into one web page, providing a quick overview of the system's current state.

Grafana

watchsys

Services

New Relic

Rackspace

Web management

See also Web systems#Personal cloud

Cockpit

  • Cockpit - a server manager that makes it easy to administer your GNU/Linux servers via a web browser. [18]

Easypanel

Webmin

  • Webmin is a web-based interface for system administration for Unix. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely.

Virtualmin

  • Virtualmin is a powerful and flexible web hosting control panel for Linux and UNIX systems based on the well-known Open Source web-based systems management GUI, Webmin. Manage your virtual domains, mailboxes, databases, applications, and the entire server, from one comprehensive and friendly interface.

Ehcp

  • Ehcp is a Hosting Control Panel to facilitate the process of managing domains, e-mail, users, etc.

AlternC

  • AlternC is a set of software management on Linux shared hosting, easy to use, easy to install, based solely on free software, GPL v2 +. Systems for automatic installation and configuration, control panel accessible via the web for the management of users and web services (domains, emails, ftp accounts, statistics ...). Technically, AlternC is currently based on Debian GNU / Linux 'Stable' (Squeeze to date), and use other software such as Apache, Postfix, Mailman ... It also contains API documentation, allowing easy customization of the office, 'web control panel' AlternC.

CPanel

easyengine

GNUPanel

Ajenti

  • Ajenti - includes dozens of pre-made plugins that let you configure both your OS and server software. List of supported software includes Apache, BIND9, Cron, CTDB, DHCPD, NFSD, Iptables, Munin, MySQL, Netatalk, NGINX, PostgreSQL, Samba, lm-sensors, Squid 3, Supervisor.

Organizr

  • https://github.com/causefx/Organizr - HTPC/Homelab Services Organizer - Written in PHP. Do you have quite a bit of services running on your computer or server? Do you have a lot of bookmarks or have to memorize a bunch of ip's and ports? Well, Organizr is here to help with that. Organizr allows you to setup "Tabs" that will be loaded all in one webpage. You can then work on your server with ease. You can even open up two tabs side by side. Want to give users access to some Tabs? No problem, just enable user support and have them make an account. Want guests to be able to visit too? Enable Guest support for those tabs.

VestaCP

Performance

See also *nix#Performance, HTTP#Performance


  • irqbalance - a Linux* daemon that distributes interrupts over the processors and cores you have in your computer system. The design goal of irqbalance is to do find a balance between power savings and optimal performance. To a large degree, the work irqbalance does is invisible to you; if irqbalance performs its job right, nobody will ever notice it's there or want to turn it off.



HAProxy

  • HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer, provides a high availability load balancer and proxy server for TCP and HTTP-based applications that spreads requests across multiple servers. It is written in C and has a reputation for being fast and efficient (in terms of processor and memory usage). HAProxy is used by a number of high-profile websites including GoDaddy, GitHub, Bitbucket, Stack Overflow, Reddit, Speedtest.net, Tumblr, Twitter and Tuenti and is used in the OpsWorks product from Amazon Web Services.


nuster


Pound

  • Pound - is a reverse proxy, that means you put it on the server in front of your web services, not in front of your clients who need to connect to the general Internet. It takes web requests from end-users and distributes them among several web servers or services you may be running. Pound is also load balancing, so you can run multiple servers that look to the outside world as if they are just one, allowing you to spread the workload around. Pound proxy is NOT a caching proxy. By itself it won't help to speed up your server or network, but there is a lot of flexibility in Pound that will help you overall.

Træfik

  • Træfik - pronounced like traffic, is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher, Amazon ECS, and a lot more) to manage its configuration automatically and dynamically.

frp

Apache Traffic Server

memcached


  • magent is a simple but useful proxy program for memcached servers.


Redis

See also Database#Redis


OpenNOP

  • OpenNOP - an open source Linux based network accelerator. It's designed to optimise network traffic over point-to-point, partially-meshed and full-meshed IP networks. The goal of OpenNOP is to increase network performance over low speed network connections such as ISDN, DSL, DS1, frame-relay, VPN and other network circuits. To accomplish this we can use a variety of techniques such as compression, deduplication, caching and protocol spoofing.

workerd

  • https://github.com/cloudflare/workerd - a JavaScript / Wasm server runtime based on the same code that powers Cloudflare Workers. You might use it: As an application server, to self-host applications designed for Cloudflare Workers. As a development tool, to develop and test such code locally. As a programmable HTTP proxy (forward or reverse), to efficiently intercept, modify, and route network requests.

CDN

  • https://en.wikipedia.org/wiki/Content_delivery_network#Content_service_protocols - or content distribution network (CDN,, is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by distributing the service spatially relative to end users. CDNs came into existence in the late 1990s as a means for alleviating the performance bottlenecks of the Internet as the Internet was starting to become a mission-critical medium for people and enterprises. Since then, CDNs have grown to serve a large portion of the Internet content today, including web objects (text, graphics and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social media sites. CDNs are a layer in the internet ecosystem. Content owners such as media companies and e-commerce vendors pay CDN operators to deliver their content to their end users. In turn, a CDN pays Internet service providers (ISPs), carriers, and network operators for hosting its servers in their data centers. CDN is an umbrella term spanning different types of content delivery services: video streaming, software downloads, web and mobile content acceleration, licensed/managed CDN, transparent caching, and services to measure CDN performance, load balancing, Multi CDN switching and analytics and cloud intelligence. CDN vendors may cross over into other industries like security, DDoS protection and web application firewalls (WAF), and WAN optimization.







Configuration management

See also Stack#Orchestration and management




Kickstart

  • Kickstart - Many system administrators would prefer to use an automated installation method to install Fedora or Red Hat Enterprise Linux on their machines. To answer this need, Red Hat created the kickstart installation method. Using kickstart, a system administrator can create a single file containing the answers to all the questions that would normally be asked during a typical installation.Kickstart files can be kept on a server system and read by individual computers during the installation. This installation method can support the use of a single kickstart file to install Fedora or Red Hat Enterprise Linux on multiple machines, making it ideal for network and system administrators.

Cobbler

  • Cobbler - a Linux installation server that allows for rapid setup of network installation environments. It glues together and automates many associated Linux tasks so you do not have to hop between many various commands and applications when deploying new systems, and, in some cases, changing existing ones. Cobbler can help with provisioning, managing DNS and DHCP, package updates, power management, configuration management orchestration, and much more.

Cmdbuild

Rundeck

Babushka


Marelle

  • Marelle - uses logic programming to describe system targets and rules by which these targets can be met. Prolog's built-in search mechanism makes writing and using these dependencies elegant. Anecdotally, writing deps for Marelle has the feel of teaching it about types of packages, rather than the feel of writing package templates.

Dconf

  • Dconf - a tool to collect a system's hardware and software configuration. It allows to take your system configuration with you or compare systems (like nodes in a cluster) to troubleshoot HW or SW problems.Dconf is also useful in projects where you have to manage changes as a team. Dconf can send out changes to your systems to a list of email addresses so that they can be revised.As a sysadmin, you won't become too paranoid if less experienced people have root-access. As a consultant, you won't feel isolated if you don't have remote access to your systems. As a support engineer, you won't become frustrated if a customer has fiddled around with some important config file and you have to find what.

Aegis

  • Aegis - a transaction-based software configuration management system. It provides a framework within which a team of developers may work on many changes to a program independently, and Aegis coordinates integrating these changes back into the master source of the program, with as little disruption as possible.

Troubleshooting