Statping

状态页面,通过漂亮的图表、分析和插件来监控你的网站和应用程序。可以在任何类型的环境中运行。「Status Page for monitoring your websites and applications with beautiful graphs, analytics, and plugins. Run on any type of environment.」

Github stars Tracking Chart

Statping - Status Page & Monitoring Server

An easy to use Status Page for your websites and applications. Statping will automatically fetch the application and render a beautiful status page with tons of features for you to build an even better status page. This Status Page generator allows you to use MySQL, Postgres, or SQLite on multiple operating systems.

Master Release GoDoc Slack Docker Pulls


(dashboard login is admin, password admin)

Run on Any Server

Whether you're a Docker fan-boy or a AWS EC2 master, Statping gives you multiple options to simply get running. Our Amazon AMI image is only 8Gb and will automatically update to the most stable version of Statping.
Running on an EC2 server might be the most cost effective way to host your own Statping Status Page. The server runs on the smallest EC2 instance (t2.nano) AWS has to offer, which only costs around $4.60 USD a month for your dedicated Status Page.
Want to run it on your own Docker server? Awesome! Statping has multiple docker-compose.yml files to work with. Statping can automatically create a SSL Certification for your status page.

Slack, Email, Twilio and more

Statping includes email notification via SMTP and Slack integration using Incoming Webhook. Insert the webhook URL into the Settings page in Statping and enable the Slack integration. Anytime a service fails, you're channel that you specified on Slack will receive a message.

Run on Docker

Use the Statping Docker Image to create a status page in seconds. Checkout the Docker Wiki to view more details on how to get started using Docker.

docker run -it -p 8080:8080 statping/statping

There are multiple ways to startup a Statping server. You want to make sure Statping is on it's own instance that is not on the same server as the applications you wish to monitor. It doesn't look good when your Status Page goes down, I recommend a small EC2 instance so you can set it, and forget it.

Docker Compose

In this folder there is a standard docker-compose file that include nginx, postgres, and Statping.

docker-compose up -d

Docker Compose with Automatic SSL

You can automatically start a Statping server with automatic SSL encryption using this docker-compose file. First point your domain's DNS to the Statping server, and then run this docker-compose command with DOMAIN and EMAIL. Email is for letsencrypt services.

LETSENCRYPT_HOST=mydomain.com \
    LETSENCRYPT_EMAIL=info@mydomain.com \
    docker-compose -f docker-compose-ssl.yml up -d

Once your instance has started, it will take a moment to get your SSL certificate. Make sure you have a A or CNAME record on your domain that points to the IP/DNS of your server running Statping.

Prometheus Exporter

Statping includes a Prometheus Exporter so you can have even more monitoring power with your services. The Prometheus exporter can be seen on /metrics, simply create another exporter in your prometheus config. Use your Statping API Secret for the Authorization Bearer header, the /metrics URL is dedicated for Prometheus and requires the correct API Secret has Authorization header.

scrape_configs:
  - job_name: 'statping'
    bearer_token: 'MY API SECRET HERE'
    static_configs:
      - targets: ['statping:8080']

Run on EC2 Server

Running Statping on the smallest EC2 server is very quick using the AWS AMI Image. Checkout the AWS Wiki to see a step by step guide on how to get your EC2 Statping service online.

Create Security Groups

Create the AWS Security Groups with the commands below, Statping will expose port 80 and 443.

aws ec2 create-security-group --group-name StatpingPublicHTTP \
     --description "Statping HTTP Server on port 80 and 443"
# will response back a Group ID. Copy ID and use it for --group-id below.

aws ec2 authorize-security-group-ingress \
     --group-id sg-7e8b830f --protocol tcp \
     --port 80 --cidr 0.0.0.0/0

aws ec2 authorize-security-group-ingress \
     --group-id sg-7e8b830f --protocol tcp \
     --port 443 --cidr 0.0.0.0/0
Create EC2 without SSL
aws ec2 run-instances \
    --image-id ami-7be8a103 \
    --count 1 --instance-type t2.nano \
    --key-name MYKEYHERE \
    --security-group-ids sg-7e8b830f
Create EC2 with Automatic SSL Certification

The AWS-CLI command below will automatically create an EC2 server and create an SSL certificate from Lets Encrypt, for free.

wget https://raw.githubusercontent.com/statping/statping/master/servers/ec2-ssl.sh
# Edit ec2-ssl.sh and insert your domain you want to use, then run command below.
# Use the Security Group ID that you used above for --security-group-ids

aws ec2 run-instances \
    --user-data file://ec2-ssl.sh \
    --image-id ami-7be8a103 \
    --count 1 --instance-type t2.nano \
    --key-name MYKEYHERE \
    --security-group-ids sg-7e8b830f

Contributing

Statping accepts Push Requests to the dev branch! Feel free to add your own features and notifiers. You probably want to checkout the Notifier Wiki to get a better understanding on how to create your own notification methods for failing/successful services. Testing on Statping will test each function on MySQL, Postgres, and SQLite. I recommend running MySQL and Postgres Docker containers for testing. You can find multiple docker-compose files in the dev directory.

Dev Release
Go Report Card
Build Status Cypress.io tests
Docker Pulls GodocCoverage Status

Main metrics

Overview
Name With Ownerstatping/statping
Primary LanguageVue
Program languageShell (Language Count: 8)
PlatformAmazon Elastic Compute Cloud (EC2), Docker, Linux, Mac, Windows
License:GNU General Public License v3.0
所有者活动
Created At2018-06-10 01:30:44
Pushed At2024-07-05 05:43:00
Last Commit At2020-12-18 08:58:12
Release Count205
Last Release Namev0.90.74 (Posted on )
First Release Namev0.1 (Posted on )
用户参与
Stargazers Count7.2k
Watchers Count65
Fork Count654
Commits Count1.9k
Has Issues Enabled
Issues Count849
Issue Open Count2
Pull Requests Count136
Pull Requests Open Count47
Pull Requests Close Count86
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private