mirror of
https://github.com/QYG2297248353/appstore-1panel.git
synced 2024-11-25 09:38:47 +08:00
feat:添加grafana、prometheus (#208)
* feat:添加adguardhome、memcached、qiandao、lsky-pro、bitwarden、rustdesk、synapse * feat:添加cloudreve、nginx-proxy-manager、code-server * fix:修正code-server的service name * feat:添加grafana、prometheus
This commit is contained in:
parent
52138f6970
commit
542f5c4be3
11
apps/grafana/10.0.1/data.yml
Normal file
11
apps/grafana/10.0.1/data.yml
Normal file
@ -0,0 +1,11 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40038
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
|
22
apps/grafana/10.0.1/docker-compose.yml
Normal file
22
apps/grafana/10.0.1/docker-compose.yml
Normal file
@ -0,0 +1,22 @@
|
||||
version: '3'
|
||||
services:
|
||||
grafana:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:3000"
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
image: grafana/grafana:10.0.1
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
volumes:
|
||||
grafana_data:
|
||||
external: true
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
68
apps/grafana/README.md
Normal file
68
apps/grafana/README.md
Normal file
@ -0,0 +1,68 @@
|
||||
# 使用说明
|
||||
|
||||
默认账户与密码
|
||||
```
|
||||
username:admin
|
||||
password:admin
|
||||
```
|
||||
|
||||
注意:应用部署前需要先创建存储卷,
|
||||
|
||||
终端运行
|
||||
```
|
||||
docker volume create grafana_data
|
||||
```
|
||||
|
||||
假如需要完全删除数据,除了删除容器还需要删除存储卷`grafana_data`。
|
||||
|
||||
# 原始相关
|
||||
|
||||
![Grafana](https://raw.githubusercontent.com/grafana/grafana/main/docs/logo-horizontal.png)
|
||||
|
||||
The open-source platform for monitoring and observability
|
||||
|
||||
[![License](https://img.shields.io/github/license/grafana/grafana)](LICENSE)
|
||||
[![Drone](https://drone.grafana.net/api/badges/grafana/grafana/status.svg)](https://drone.grafana.net/grafana/grafana)
|
||||
[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana)
|
||||
|
||||
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture:
|
||||
|
||||
- **Visualizations:** Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
|
||||
- **Dynamic Dashboards:** Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
|
||||
- **Explore Metrics:** Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
|
||||
- **Explore Logs:** Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
|
||||
- **Alerting:** Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
|
||||
- **Mixed Data Sources:** Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.
|
||||
|
||||
## Get started
|
||||
|
||||
- [Get Grafana](https://grafana.com/get)
|
||||
- [Installation guides](https://grafana.com/docs/grafana/latest/setup-grafana/installation/)
|
||||
|
||||
Unsure if Grafana is for you? Watch Grafana in action on [play.grafana.org](https://play.grafana.org/)!
|
||||
|
||||
## Documentation
|
||||
|
||||
The Grafana documentation is available at [grafana.com/docs](https://grafana.com/docs/).
|
||||
|
||||
## Contributing
|
||||
|
||||
If you're interested in contributing to the Grafana project:
|
||||
|
||||
- Start by reading the [Contributing guide](https://github.com/grafana/grafana/blob/HEAD/CONTRIBUTING.md).
|
||||
- Learn how to set up your local environment, in our [Developer guide](https://github.com/grafana/grafana/blob/HEAD/contribute/developer-guide.md).
|
||||
- Explore our [beginner-friendly issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22).
|
||||
- Look through our [style guide and Storybook](https://developers.grafana.com/ui/latest/index.html).
|
||||
|
||||
## Get involved
|
||||
|
||||
- Follow [@grafana on Twitter](https://twitter.com/grafana/).
|
||||
- Read and subscribe to the [Grafana blog](https://grafana.com/blog/).
|
||||
- If you have a specific question, check out our [discussion forums](https://community.grafana.com/).
|
||||
- For general discussions, join us on the [official Slack](https://slack.grafana.com) team.
|
||||
|
||||
This project is tested with [BrowserStack](https://www.browserstack.com/)
|
||||
|
||||
## License
|
||||
|
||||
Grafana is distributed under [AGPL-3.0-only](LICENSE). For Apache-2.0 exceptions, see [LICENSING.md](https://github.com/grafana/grafana/blob/HEAD/LICENSING.md).
|
20
apps/grafana/data.yml
Normal file
20
apps/grafana/data.yml
Normal file
@ -0,0 +1,20 @@
|
||||
name: Grafana
|
||||
tags:
|
||||
- 工具
|
||||
title: 用于监控和可观察性的开源平台
|
||||
type: 工具
|
||||
description: 用于监控和可观察性的开源平台
|
||||
additionalProperties:
|
||||
key: grafana
|
||||
name: Grafana
|
||||
tags:
|
||||
- Tool
|
||||
shortDescZh: 用于监控和可观察性的开源平台
|
||||
shortDescEn: The open-source platform for monitoring and observability
|
||||
type: tool
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://grafana.com/
|
||||
github: https://github.com/grafana/grafana
|
||||
document: https://grafana.com/docs/grafana
|
BIN
apps/grafana/logo.png
Normal file
BIN
apps/grafana/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
11
apps/prometheus/2.45.0/data.yml
Normal file
11
apps/prometheus/2.45.0/data.yml
Normal file
@ -0,0 +1,11 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40039
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
|
29
apps/prometheus/2.45.0/data/prometheus.yml
Normal file
29
apps/prometheus/2.45.0/data/prometheus.yml
Normal file
@ -0,0 +1,29 @@
|
||||
# my global config
|
||||
global:
|
||||
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
||||
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
|
||||
# scrape_timeout is set to the global default (10s).
|
||||
|
||||
# Alertmanager configuration
|
||||
alerting:
|
||||
alertmanagers:
|
||||
- static_configs:
|
||||
- targets:
|
||||
# - alertmanager:9093
|
||||
|
||||
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
|
||||
rule_files:
|
||||
# - "first_rules.yml"
|
||||
# - "second_rules.yml"
|
||||
|
||||
# A scrape configuration containing exactly one endpoint to scrape:
|
||||
# Here it's Prometheus itself.
|
||||
scrape_configs:
|
||||
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
|
||||
- job_name: "prometheus"
|
||||
|
||||
# metrics_path defaults to '/metrics'
|
||||
# scheme defaults to 'http'.
|
||||
|
||||
static_configs:
|
||||
- targets: ["localhost:9090"]
|
18
apps/prometheus/2.45.0/docker-compose.yml
Normal file
18
apps/prometheus/2.45.0/docker-compose.yml
Normal file
@ -0,0 +1,18 @@
|
||||
version: '3'
|
||||
services:
|
||||
prometheus:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:9090"
|
||||
volumes:
|
||||
- "./data:/etc/prometheus"
|
||||
image: prom/prometheus:v2.45.0
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
197
apps/prometheus/README.md
Normal file
197
apps/prometheus/README.md
Normal file
@ -0,0 +1,197 @@
|
||||
# 使用说明
|
||||
|
||||
需要按需配置应用目录下`data`文件夹里的`prometheus.yml`,以自定义更多功能。
|
||||
|
||||
|
||||
# 原始相关
|
||||
|
||||
<h1 align="center" style="border-bottom: none">
|
||||
<a href="//prometheus.io" target="_blank"><img alt="Prometheus" src="https://raw.githubusercontent.com/prometheus/prometheus/main/documentation/images/prometheus-logo.svg"></a><br>Prometheus
|
||||
</h1>
|
||||
|
||||
<p align="center">Visit <a href="//prometheus.io" target="_blank">prometheus.io</a> for the full documentation,
|
||||
examples and guides.</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[![CI](https://github.com/prometheus/prometheus/actions/workflows/ci.yml/badge.svg)](https://github.com/prometheus/prometheus/actions/workflows/ci.yml)
|
||||
[![Docker Repository on Quay](https://quay.io/repository/prometheus/prometheus/status)][quay]
|
||||
[![Docker Pulls](https://img.shields.io/docker/pulls/prom/prometheus.svg?maxAge=604800)][hub]
|
||||
[![Go Report Card](https://goreportcard.com/badge/github.com/prometheus/prometheus)](https://goreportcard.com/report/github.com/prometheus/prometheus)
|
||||
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/486/badge)](https://bestpractices.coreinfrastructure.org/projects/486)
|
||||
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/prometheus/prometheus)
|
||||
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/prometheus.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:prometheus)
|
||||
|
||||
</div>
|
||||
|
||||
Prometheus, a [Cloud Native Computing Foundation](https://cncf.io/) project, is a systems and service monitoring system. It collects metrics
|
||||
from configured targets at given intervals, evaluates rule expressions,
|
||||
displays the results, and can trigger alerts when specified conditions are observed.
|
||||
|
||||
The features that distinguish Prometheus from other metrics and monitoring systems are:
|
||||
|
||||
* A **multi-dimensional** data model (time series defined by metric name and set of key/value dimensions)
|
||||
* PromQL, a **powerful and flexible query language** to leverage this dimensionality
|
||||
* No dependency on distributed storage; **single server nodes are autonomous**
|
||||
* An HTTP **pull model** for time series collection
|
||||
* **Pushing time series** is supported via an intermediary gateway for batch jobs
|
||||
* Targets are discovered via **service discovery** or **static configuration**
|
||||
* Multiple modes of **graphing and dashboarding support**
|
||||
* Support for hierarchical and horizontal **federation**
|
||||
|
||||
## Architecture overview
|
||||
|
||||
![Architecture overview](https://raw.githubusercontent.com/prometheus/prometheus/main/documentation/images/architecture.svg)
|
||||
|
||||
## Install
|
||||
|
||||
There are various ways of installing Prometheus.
|
||||
|
||||
### Precompiled binaries
|
||||
|
||||
Precompiled binaries for released versions are available in the
|
||||
[*download* section](https://prometheus.io/download/)
|
||||
on [prometheus.io](https://prometheus.io). Using the latest production release binary
|
||||
is the recommended way of installing Prometheus.
|
||||
See the [Installing](https://prometheus.io/docs/introduction/install/)
|
||||
chapter in the documentation for all the details.
|
||||
|
||||
### Docker images
|
||||
|
||||
Docker images are available on [Quay.io](https://quay.io/repository/prometheus/prometheus) or [Docker Hub](https://hub.docker.com/r/prom/prometheus/).
|
||||
|
||||
You can launch a Prometheus container for trying it out with
|
||||
|
||||
```bash
|
||||
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
|
||||
```
|
||||
|
||||
Prometheus will now be reachable at <http://localhost:9090/>.
|
||||
|
||||
### Building from source
|
||||
|
||||
To build Prometheus from source code, You need:
|
||||
|
||||
* Go [version 1.17 or greater](https://golang.org/doc/install).
|
||||
* NodeJS [version 16 or greater](https://nodejs.org/).
|
||||
* npm [version 7 or greater](https://www.npmjs.com/).
|
||||
|
||||
Start by cloning the repository:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/prometheus/prometheus.git
|
||||
cd prometheus
|
||||
```
|
||||
|
||||
You can use the `go` tool to build and install the `prometheus`
|
||||
and `promtool` binaries into your `GOPATH`:
|
||||
|
||||
```bash
|
||||
GO111MODULE=on go install github.com/prometheus/prometheus/cmd/...
|
||||
prometheus --config.file=your_config.yml
|
||||
```
|
||||
|
||||
*However*, when using `go install` to build Prometheus, Prometheus will expect to be able to
|
||||
read its web assets from local filesystem directories under `web/ui/static` and
|
||||
`web/ui/templates`. In order for these assets to be found, you will have to run Prometheus
|
||||
from the root of the cloned repository. Note also that these directories do not include the
|
||||
React UI unless it has been built explicitly using `make assets` or `make build`.
|
||||
|
||||
An example of the above configuration file can be found [here.](https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus.yml)
|
||||
|
||||
You can also build using `make build`, which will compile in the web assets so that
|
||||
Prometheus can be run from anywhere:
|
||||
|
||||
```bash
|
||||
make build
|
||||
./prometheus --config.file=your_config.yml
|
||||
```
|
||||
|
||||
The Makefile provides several targets:
|
||||
|
||||
* *build*: build the `prometheus` and `promtool` binaries (includes building and compiling in web assets)
|
||||
* *test*: run the tests
|
||||
* *test-short*: run the short tests
|
||||
* *format*: format the source code
|
||||
* *vet*: check the source code for common errors
|
||||
* *assets*: build the React UI
|
||||
|
||||
### Service discovery plugins
|
||||
|
||||
Prometheus is bundled with many service discovery plugins.
|
||||
When building Prometheus from source, you can edit the [plugins.yml](./plugins.yml)
|
||||
file to disable some service discoveries. The file is a yaml-formated list of go
|
||||
import path that will be built into the Prometheus binary.
|
||||
|
||||
After you have changed the file, you
|
||||
need to run `make build` again.
|
||||
|
||||
If you are using another method to compile Prometheus, `make plugins` will
|
||||
generate the plugins file accordingly.
|
||||
|
||||
If you add out-of-tree plugins, which we do not endorse at the moment,
|
||||
additional steps might be needed to adjust the `go.mod` and `go.sum` files. As
|
||||
always, be extra careful when loading third party code.
|
||||
|
||||
### Building the Docker image
|
||||
|
||||
The `make docker` target is designed for use in our CI system.
|
||||
You can build a docker image locally with the following commands:
|
||||
|
||||
```bash
|
||||
make promu
|
||||
promu crossbuild -p linux/amd64
|
||||
make npm_licenses
|
||||
make common-docker-amd64
|
||||
```
|
||||
|
||||
## Using Prometheus as a Go Library
|
||||
|
||||
### Remote Write
|
||||
|
||||
We are publishing our Remote Write protobuf independently at
|
||||
[buf.build](https://buf.build/prometheus/prometheus/assets).
|
||||
|
||||
You can use that as a library:
|
||||
|
||||
```shell
|
||||
go get go.buf.build/protocolbuffers/go/prometheus/prometheus
|
||||
```
|
||||
|
||||
This is experimental.
|
||||
|
||||
### Prometheus code base
|
||||
|
||||
In order to comply with [go mod](https://go.dev/ref/mod#versions) rules,
|
||||
Prometheus release number do not exactly match Go module releases. For the
|
||||
Prometheus v2.y.z releases, we are publishing equivalent v0.y.z tags.
|
||||
|
||||
Therefore, a user that would want to use Prometheus v2.35.0 as a library could do:
|
||||
|
||||
```shell
|
||||
go get github.com/prometheus/prometheus@v0.35.0
|
||||
```
|
||||
|
||||
This solution makes it clear that we might break our internal Go APIs between
|
||||
minor user-facing releases, as [breaking changes are allowed in major version
|
||||
zero](https://semver.org/#spec-item-4).
|
||||
|
||||
## React UI Development
|
||||
|
||||
For more information on building, running, and developing on the React-based UI, see the React app's [README.md](web/ui/README.md).
|
||||
|
||||
## More information
|
||||
|
||||
* Godoc documentation is available via [pkg.go.dev](https://pkg.go.dev/github.com/prometheus/prometheus). Due to peculiarities of Go Modules, v2.x.y will be displayed as v0.x.y.
|
||||
* See the [Community page](https://prometheus.io/community) for how to reach the Prometheus developers and users on various communication channels.
|
||||
|
||||
## Contributing
|
||||
|
||||
Refer to [CONTRIBUTING.md](https://github.com/prometheus/prometheus/blob/main/CONTRIBUTING.md)
|
||||
|
||||
## License
|
||||
|
||||
Apache License 2.0, see [LICENSE](https://github.com/prometheus/prometheus/blob/main/LICENSE).
|
||||
|
||||
[hub]: https://hub.docker.com/r/prom/prometheus/
|
||||
[quay]: https://quay.io/repository/prometheus/prometheus
|
20
apps/prometheus/data.yml
Normal file
20
apps/prometheus/data.yml
Normal file
@ -0,0 +1,20 @@
|
||||
name: Prometheus
|
||||
tags:
|
||||
- 工具
|
||||
title: 一个系统和服务监控系统
|
||||
type: 工具
|
||||
description: 一个系统和服务监控系统
|
||||
additionalProperties:
|
||||
key: prometheus
|
||||
name: Prometheus
|
||||
tags:
|
||||
- Tool
|
||||
shortDescZh: 一个系统和服务监控系统
|
||||
shortDescEn: A systems and service monitoring system
|
||||
type: tool
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://prometheus.io/
|
||||
github: https://github.com/prometheus/prometheus
|
||||
document: https://prometheus.io/docs/
|
BIN
apps/prometheus/logo.png
Normal file
BIN
apps/prometheus/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.6 KiB |
Loading…
Reference in New Issue
Block a user