mirror of https://github.com/statping/statping
package name change
parent
97ac239e22
commit
4d49cc510a
14
README.md
14
README.md
|
@ -45,7 +45,7 @@ Statping includes email notification via SMTP and Slack integration using [Incom
|
|||
|
||||
## User Created Plugins and Notifiers
|
||||
View the [Plugin Wiki](https://github.com/hunterlong/statping/wiki/Statping-Plugins) to see detailed information about Golang Plugins. Statping isn't just another Status Page for your applications, it's a framework that allows you to create your own plugins to interact with every element of your status page. [Notifier's](https://github.com/hunterlong/statping/wiki/Notifiers) can also be create with only 1 golang file.
|
||||
Plugin are created in Golang using the [statup/plugin](https://github.com/hunterlong/statping/tree/master/plugin) golang package. The plugin package has a list of interfaces/events to accept into your own plugin application.
|
||||
Plugin are created in Golang using the [statping/plugin](https://github.com/hunterlong/statping/tree/master/plugin) golang package. The plugin package has a list of interfaces/events to accept into your own plugin application.
|
||||
|
||||
<p align="center">
|
||||
<img width="100%" src="https://img.cjx.io/statupsc2.png">
|
||||
|
@ -61,14 +61,14 @@ Having a straight forward dashboard makes Statping that much better. Monitor you
|
|||
If you want to use Statping as a CLI application without running a server, you can export your status page to a static HTML.
|
||||
This export tool is very useful for people who want to export their HTML and upload/commit it to Github Pages or an FTP server.
|
||||
```dash
|
||||
statup export
|
||||
statping export
|
||||
```
|
||||
###### `index.html` will be created in the current directory with CDN URL's for assets.
|
||||
|
||||
## Run on Docker
|
||||
Use the [Statping Docker Image](https://hub.docker.com/r/hunterlong/statup) to create a status page in seconds. Checkout the [Docker Wiki](https://github.com/hunterlong/statping/wiki/Docker) to view more details on how to get started using Docker.
|
||||
Use the [Statping Docker Image](https://hub.docker.com/r/hunterlong/statping) to create a status page in seconds. Checkout the [Docker Wiki](https://github.com/hunterlong/statping/wiki/Docker) to view more details on how to get started using Docker.
|
||||
```bash
|
||||
docker run -it -p 8080:8080 hunterlong/statup
|
||||
docker run -it -p 8080:8080 hunterlong/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.
|
||||
|
||||
|
@ -116,7 +116,7 @@ aws ec2 run-instances \
|
|||
##### 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.
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/hunterlong/statup/master/servers/ec2-ssl.sh
|
||||
wget https://raw.githubusercontent.com/hunterlong/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
|
||||
|
||||
|
@ -132,10 +132,10 @@ aws ec2 run-instances \
|
|||
Statping includes a [Prometheus Exporter](https://github.com/hunterlong/statping/wiki/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.
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: 'statup'
|
||||
- job_name: 'statping'
|
||||
bearer_token: 'MY API SECRET HERE'
|
||||
static_configs:
|
||||
- targets: ['statup:8080']
|
||||
- targets: ['statping:8080']
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
|
|
@ -27,7 +27,7 @@ import (
|
|||
)
|
||||
|
||||
//
|
||||
// STATUP PLUGIN INTERFACE
|
||||
// STATPING PLUGIN INTERFACE
|
||||
//
|
||||
// v0.1
|
||||
//
|
||||
|
|
|
@ -5,39 +5,39 @@ It doesn't look good when your Status Page goes down, I recommend a small EC2 in
|
|||
> It's a good idea to have a Status Page not on the same server as your applications.
|
||||
|
||||
# Install on Linux
|
||||
Installing on Linux is a pretty easy task. Simply run the command below to have the `statup` command ready to rock.
|
||||
Installing on Linux is a pretty easy task. Simply run the command below to have the `statping` command ready to rock.
|
||||
```bash
|
||||
bash <(curl -s https://statping.com/install.sh)
|
||||
statup version
|
||||
statping version
|
||||
```
|
||||
|
||||
# Install on Mac
|
||||
Installing on Mac/OSX is also very easy,
|
||||
```bash
|
||||
bash <(curl -s https://statping.com/install.sh)
|
||||
statup version
|
||||
statping version
|
||||
```
|
||||
|
||||
# Install on Windows
|
||||
Go to the [Latest Releases](https://github.com/hunterlong/statping/releases/latest) page for Statping and simply download `statup-windows-x64`!
|
||||
Statping only supports Windows 64-bit currently, sorry 32-bit users. Rename the file to `statup` for ease of use!
|
||||
Go to the [Latest Releases](https://github.com/hunterlong/statping/releases/latest) page for Statping and simply download `statping-windows-x64`!
|
||||
Statping only supports Windows 64-bit currently, sorry 32-bit users. Rename the file to `statping` for ease of use!
|
||||
|
||||
# Install on Docker
|
||||
This Docker image uses Alpine Linux to keep it ultra small.
|
||||
```bash
|
||||
docker run -it -p 8080:8080 hunterlong/statup
|
||||
docker run -it -p 8080:8080 hunterlong/statping
|
||||
```
|
||||
#### Or use Docker Compose
|
||||
This Docker Compose file inlcudes NGINX, Postgres, and Statping.
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/hunterlong/statup/master/servers/docker-compose.yml
|
||||
wget https://raw.githubusercontent.com/hunterlong/statping/master/servers/docker-compose.yml
|
||||
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.
|
||||
```
|
||||
wget https://raw.githubusercontent.com/hunterlong/statup/master/servers/docker-compose-ssl.yml
|
||||
wget https://raw.githubusercontent.com/hunterlong/statping/master/servers/docker-compose-ssl.yml
|
||||
|
||||
LETSENCRYPT_HOST=mydomain.com \
|
||||
LETSENCRYPT_EMAIL=info@mydomain.com \
|
||||
|
@ -64,7 +64,7 @@ aws ec2 run-instances \
|
|||
```
|
||||
### Create EC2 with Automatic SSL Certification
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/hunterlong/statup/master/servers/ec2-ssl.sh
|
||||
wget https://raw.githubusercontent.com/hunterlong/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
|
||||
```
|
||||
|
@ -114,7 +114,7 @@ DOMAIN=mydomain.com EMAIL=info@mydomain.com \
|
|||
|
||||
## Systemd
|
||||
```$xslt
|
||||
/etc/systemd/system/statup.service
|
||||
/etc/systemd/system/statping.service
|
||||
|
||||
|
||||
```
|
|
@ -2,14 +2,14 @@ version: '2.3'
|
|||
|
||||
services:
|
||||
|
||||
statup:
|
||||
container_name: statup
|
||||
image: hunterlong/statup:latest
|
||||
statping:
|
||||
container_name: statping
|
||||
image: hunterlong/statping:latest
|
||||
restart: always
|
||||
ports:
|
||||
- 0.0.0.0:80:8080
|
||||
volumes:
|
||||
- ./statup/app:/app
|
||||
- ./statping/app:/app
|
||||
environment:
|
||||
NAME: Single Docker Image
|
||||
DESCRIPTION: You'll need to input your own Database information in Setup process
|
|
@ -15,10 +15,10 @@ services:
|
|||
restart: always
|
||||
volumes:
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
- ./statup/nginx/certs:/etc/nginx/certs:ro
|
||||
- ./statup/nginx/vhost:/etc/nginx/vhost.d
|
||||
- ./statup/nginx/html:/usr/share/nginx/html:ro
|
||||
- ./statup/nginx/dhparam:/etc/nginx/dhparam
|
||||
- ./statping/nginx/certs:/etc/nginx/certs:ro
|
||||
- ./statping/nginx/vhost:/etc/nginx/vhost.d
|
||||
- ./statping/nginx/html:/usr/share/nginx/html:ro
|
||||
- ./statping/nginx/dhparam:/etc/nginx/dhparam
|
||||
environment:
|
||||
DEFAULT_HOST: ${LETSENCRYPT_HOST}
|
||||
|
||||
|
@ -30,14 +30,14 @@ services:
|
|||
restart: always
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./statup/nginx/certs:/etc/nginx/certs
|
||||
- ./statup/nginx/vhost:/etc/nginx/vhost.d
|
||||
- ./statup/nginx/html:/usr/share/nginx/html
|
||||
- ./statup/nginx/dhparam:/etc/nginx/dhparam
|
||||
- ./statping/nginx/certs:/etc/nginx/certs
|
||||
- ./statping/nginx/vhost:/etc/nginx/vhost.d
|
||||
- ./statping/nginx/html:/usr/share/nginx/html
|
||||
- ./statping/nginx/dhparam:/etc/nginx/dhparam
|
||||
|
||||
statup:
|
||||
container_name: statup
|
||||
image: hunterlong/statup:latest
|
||||
statping:
|
||||
container_name: statping
|
||||
image: hunterlong/statping:latest
|
||||
restart: always
|
||||
networks:
|
||||
- internet
|
||||
|
@ -45,7 +45,7 @@ services:
|
|||
depends_on:
|
||||
- postgres
|
||||
volumes:
|
||||
- ./statup/app:/app
|
||||
- ./statping/app:/app
|
||||
environment:
|
||||
VIRTUAL_HOST: ${LETSENCRYPT_HOST}
|
||||
VIRTUAL_PORT: 8080
|
||||
|
@ -53,9 +53,9 @@ services:
|
|||
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
|
||||
DB_CONN: postgres
|
||||
DB_HOST: postgres
|
||||
DB_USER: statup
|
||||
DB_USER: statping
|
||||
DB_PASS: password123
|
||||
DB_DATABASE: statup
|
||||
DB_DATABASE: statping
|
||||
NAME: SSL Example
|
||||
DESCRIPTION: This Status Status Page should be running ${LETSENCRYPT_HOST} with SSL.
|
||||
|
||||
|
@ -66,11 +66,11 @@ services:
|
|||
networks:
|
||||
- database
|
||||
volumes:
|
||||
- ./statup/postgres:/var/lib/postgresql/data
|
||||
- ./statping/postgres:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_PASSWORD: password123
|
||||
POSTGRES_USER: statup
|
||||
POSTGRES_DB: statup
|
||||
POSTGRES_USER: statping
|
||||
POSTGRES_DB: statping
|
||||
|
||||
networks:
|
||||
internet:
|
||||
|
|
|
@ -2,47 +2,47 @@ version: '2.3'
|
|||
|
||||
services:
|
||||
|
||||
statup:
|
||||
container_name: statup
|
||||
image: hunterlong/statup:dev
|
||||
statping:
|
||||
container_name: statping
|
||||
image: hunterlong/statping:dev
|
||||
networks:
|
||||
- internet
|
||||
- database
|
||||
depends_on:
|
||||
- postgres_statup
|
||||
- postgres_statping
|
||||
- postgres_mysql
|
||||
entrypoint:
|
||||
- "sleep 30 && cd /go/src/github.com/hunterlong/statping && go test -v ./..."
|
||||
environment:
|
||||
GO_ENV: test
|
||||
DB_CONN: postgres
|
||||
DB_HOST: postgres_statup
|
||||
DB_HOST: postgres_statping
|
||||
DB_USER: root
|
||||
DB_PASS: root
|
||||
DB_DATABASE: statup
|
||||
DB_DATABASE: statping
|
||||
NAME: EC2 Example
|
||||
DESCRIPTION: This is a Statping Docker Compose instance
|
||||
|
||||
postgres_statup:
|
||||
container_name: postgres_statup
|
||||
postgres_statping:
|
||||
container_name: postgres_statping
|
||||
image: postgres
|
||||
restart: always
|
||||
networks:
|
||||
- database
|
||||
environment:
|
||||
POSTGRES_PASSWORD: password123
|
||||
POSTGRES_USER: statup
|
||||
POSTGRES_DB: statup
|
||||
POSTGRES_USER: statping
|
||||
POSTGRES_DB: statping
|
||||
|
||||
postgres_mysql:
|
||||
container_name: mysql_statup
|
||||
container_name: mysql_statping
|
||||
image: mysql
|
||||
restart: always
|
||||
networks:
|
||||
- database
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password123
|
||||
MYSQL_DATABASE: statup
|
||||
MYSQL_DATABASE: statping
|
||||
|
||||
networks:
|
||||
internet:
|
||||
|
|
|
@ -13,47 +13,47 @@ services:
|
|||
restart: always
|
||||
volumes:
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
- ./statup/nginx/certs:/etc/nginx/certs:ro
|
||||
- ./statup/nginx/vhost:/etc/nginx/vhost.d
|
||||
- ./statup/nginx/html:/usr/share/nginx/html:ro
|
||||
- ./statup/nginx/dhparam:/etc/nginx/dhparam
|
||||
- ./statping/nginx/certs:/etc/nginx/certs:ro
|
||||
- ./statping/nginx/vhost:/etc/nginx/vhost.d
|
||||
- ./statping/nginx/html:/usr/share/nginx/html:ro
|
||||
- ./statping/nginx/dhparam:/etc/nginx/dhparam
|
||||
environment:
|
||||
DEFAULT_HOST: localhost
|
||||
|
||||
statup:
|
||||
container_name: statup
|
||||
image: hunterlong/statup:latest
|
||||
statping:
|
||||
container_name: statping
|
||||
image: hunterlong/statping:latest
|
||||
restart: always
|
||||
networks:
|
||||
- internet
|
||||
- database
|
||||
depends_on:
|
||||
- postgres_statup
|
||||
- postgres_statping
|
||||
volumes:
|
||||
- ./statup/app:/app
|
||||
- ./statping/app:/app
|
||||
environment:
|
||||
VIRTUAL_HOST: localhost
|
||||
VIRTUAL_PORT: 8080
|
||||
DB_CONN: postgres
|
||||
DB_HOST: postgres_statup
|
||||
DB_USER: statup
|
||||
DB_HOST: postgres_statping
|
||||
DB_USER: statping
|
||||
DB_PASS: password123
|
||||
DB_DATABASE: statup
|
||||
DB_DATABASE: statping
|
||||
NAME: EC2 Example
|
||||
DESCRIPTION: This is a Statping Docker Compose instance
|
||||
|
||||
postgres_statup:
|
||||
container_name: postgres_statup
|
||||
postgres_statping:
|
||||
container_name: postgres_statping
|
||||
image: postgres
|
||||
restart: always
|
||||
networks:
|
||||
- database
|
||||
volumes:
|
||||
- ./statup/postgres:/var/lib/postgresql/data
|
||||
- ./statping/postgres:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_PASSWORD: password123
|
||||
POSTGRES_USER: statup
|
||||
POSTGRES_DB: statup
|
||||
POSTGRES_USER: statping
|
||||
POSTGRES_DB: statping
|
||||
|
||||
networks:
|
||||
internet:
|
||||
|
|
|
@ -7,7 +7,7 @@ After=network-online.target
|
|||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
ExecStart=/usr/local/bin/statup
|
||||
ExecStart=/usr/local/bin/statping
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -12,7 +12,7 @@
|
|||
cd /home/ubuntu
|
||||
source /home/ubuntu/.profile
|
||||
sudo rm -rf startup.sh > /dev/null
|
||||
sudo curl -o startup.sh -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/hunterlong/statup/master/servers/startup.sh > /dev/null
|
||||
sudo curl -o startup.sh -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/hunterlong/statping/master/servers/startup.sh > /dev/null
|
||||
sudo chmod +x startup.sh > /dev/null
|
||||
sudo rm -f docker-compose.yml > /dev/null
|
||||
|
||||
|
@ -21,7 +21,7 @@ EC_IP=$(curl -s http://169.254.169.254/latest/meta-data/public-ipv4)
|
|||
|
||||
if [ "$LETSENCRYPT_HOST" = "" ]
|
||||
then
|
||||
sudo curl -o docker-compose.yml -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/hunterlong/statup/master/servers/docker-compose.yml > /dev/null
|
||||
sudo curl -o docker-compose.yml -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/hunterlong/statping/master/servers/docker-compose.yml > /dev/null
|
||||
else
|
||||
printf " \n\n\n\nDomain found for SSL certificate - $LETSENCRYPT_HOST\n"
|
||||
printf "================================================================================================================\n"
|
||||
|
@ -33,7 +33,7 @@ else
|
|||
printf " A $LETSENCRYPT_HOST => $EC_IP (or use A record if you are using an Elastic IP)\n"
|
||||
printf "================================================================================================================\n\n\n"
|
||||
|
||||
sudo curl -o docker-compose.yml -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/hunterlong/statup/master/servers/docker-compose-ssl.yml > /dev/null
|
||||
sudo curl -o docker-compose.yml -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/hunterlong/statping/master/servers/docker-compose-ssl.yml > /dev/null
|
||||
fi
|
||||
|
||||
sudo service docker start > /dev/null
|
||||
|
@ -49,7 +49,7 @@ fi
|
|||
|
||||
sudo docker system prune -af > /dev/null
|
||||
|
||||
sudo curl https://raw.githubusercontent.com/hunterlong/statup/master/servers/init.sh > /home/ubuntu/init.sh
|
||||
sudo curl https://raw.githubusercontent.com/hunterlong/statping/master/servers/init.sh > /home/ubuntu/init.sh
|
||||
sudo chmod +x /home/ubuntu/init.sh > /dev/null
|
||||
|
||||
printf "\n\n\n\n\n Status Status Page on EC2\n"
|
||||
|
@ -84,7 +84,7 @@ fi
|
|||
#sudo docker rm -f $(sudo docker ps -a -q)
|
||||
#sudo docker rmi $(sudo docker images -q)
|
||||
#rm -rf docker-compose.yml
|
||||
#sudo rm -rf statup
|
||||
#sudo rm -rf statping
|
||||
#sudo rm startup.sh
|
||||
#sudo docker system prune -af
|
||||
#sudo service docker stop
|
||||
|
|
Loading…
Reference in New Issue