Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
wowario | b4bae6fc69 | 3 years ago |
wowario | 3cc3ce8ae1 | 3 years ago |
wowario | 9b69bdb127 | 3 years ago |
@ -1,2 +0,0 @@
|
|||||||
data
|
|
||||||
.env
|
|
@ -1,59 +1,3 @@
|
|||||||
# Wownero
|
# docker-wownero
|
||||||
|
|
||||||
Container images for the official Wownero software code compiled or downloaded to provide daemon, wallet CLI, and wallet RPC binaries.
|
Run WOWOps :tm: with containers because why the hell not.
|
||||||
|
|
||||||
[Dockerfiles](./dockerfiles/) are available for building images of your choice; `wownerod_nocompile` can be used for fetching pre-built binaries, the `wownerod_compile_*` are used for fully building and compiling the C++ software.
|
|
||||||
|
|
||||||
## Node-in-a-box
|
|
||||||
|
|
||||||
The simplest way to get started is to use `docker-compose` and turn up the provided services, including the Wownero daemon, monitoring tools, and a visualization/graphing tool.
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose up -d
|
|
||||||
# wownerod available at ports 34567 and 34568
|
|
||||||
# prometheus available at port 9090
|
|
||||||
# exporter (/metrics) available at port 9000
|
|
||||||
# grafana available at port 3000
|
|
||||||
```
|
|
||||||
|
|
||||||
You can host the node on an official DNS endpoint for public usage or keep it local for your own private usage.
|
|
||||||
|
|
||||||
![](files/static/graf1.png)
|
|
||||||
|
|
||||||
![](files/static/graf2.png)
|
|
||||||
|
|
||||||
## Manual Daemon and Wallet Setup
|
|
||||||
|
|
||||||
The node and wallet software is in the same package, so both can be used from within the Docker container.
|
|
||||||
|
|
||||||
```
|
|
||||||
# build container image by fetching binaries
|
|
||||||
docker build -t wownero -f dockerfiles/wownerod_nocompile dockerfiles
|
|
||||||
|
|
||||||
# or build container image by compiling from source (simple)
|
|
||||||
docker build -t wownero -f dockerfiles/wownerod_compile_simple dockerfiles
|
|
||||||
|
|
||||||
# create network bridge so containers can communicate
|
|
||||||
docker network create --driver=bridge wownero
|
|
||||||
|
|
||||||
# run wownero daemon with RPC bindings
|
|
||||||
docker run -d --rm --name wownero-daemon \
|
|
||||||
--net=wownero \
|
|
||||||
-v daemon:/data \
|
|
||||||
-p 34568:34568 \
|
|
||||||
wownero \
|
|
||||||
wownerod \
|
|
||||||
--data-dir=/data \
|
|
||||||
--rpc-bind-ip=0.0.0.0 \
|
|
||||||
--confirm-external-bind \
|
|
||||||
--non-interactive
|
|
||||||
|
|
||||||
# run wownero-wallet-cli
|
|
||||||
docker run --rm -it --name wownero-wallet \
|
|
||||||
--net=wownero \
|
|
||||||
-v wallet:/data \
|
|
||||||
wownero \
|
|
||||||
wownero-wallet-cli \
|
|
||||||
--trusted-daemon \
|
|
||||||
--daemon-address wownero-daemon:34568
|
|
||||||
```
|
|
@ -1,209 +0,0 @@
|
|||||||
ARG DEBIAN_VERSION="${DEBIAN_VERSION:-stable-slim}"
|
|
||||||
FROM debian:${DEBIAN_VERSION} as wow-dependencies
|
|
||||||
|
|
||||||
WORKDIR /data
|
|
||||||
|
|
||||||
#Cmake
|
|
||||||
ARG CMAKE_VERSION=3.14.6
|
|
||||||
ARG CMAKE_VERSION_DOT=v3.14
|
|
||||||
ARG CMAKE_HASH=4e8ea11cabe459308671b476469eace1622e770317a15951d7b55a82ccaaccb9
|
|
||||||
## Boost
|
|
||||||
ARG BOOST_VERSION=1_70_0
|
|
||||||
ARG BOOST_VERSION_DOT=1.70.0
|
|
||||||
ARG BOOST_HASH=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
|
|
||||||
|
|
||||||
ENV CFLAGS='-fPIC -O2 -g'
|
|
||||||
ENV CXXFLAGS='-fPIC -O2 -g'
|
|
||||||
ENV LDFLAGS='-static-libstdc++'
|
|
||||||
|
|
||||||
ENV BASE_DIR /usr/local
|
|
||||||
|
|
||||||
RUN apt-get update -qq && apt-get --no-install-recommends -yqq install \
|
|
||||||
ca-certificates \
|
|
||||||
g++ \
|
|
||||||
make \
|
|
||||||
pkg-config \
|
|
||||||
git \
|
|
||||||
curl \
|
|
||||||
libtool-bin \
|
|
||||||
autoconf \
|
|
||||||
automake \
|
|
||||||
bzip2 \
|
|
||||||
xsltproc \
|
|
||||||
gperf \
|
|
||||||
unzip > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& echo "\e[32mbuilding: Cmake\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& curl -s -O https://cmake.org/files/${CMAKE_VERSION_DOT}/cmake-${CMAKE_VERSION}.tar.gz > /dev/null \
|
|
||||||
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}.tar.gz" | sha256sum -c \
|
|
||||||
&& tar -xzf cmake-${CMAKE_VERSION}.tar.gz > /dev/null \
|
|
||||||
&& cd cmake-${CMAKE_VERSION} || exit 1 \
|
|
||||||
&& ./configure --prefix=$BASE_DIR > /dev/null \
|
|
||||||
&& make > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/cmake-${CMAKE_VERSION} \
|
|
||||||
&& rm -rf /data/cmake-${CMAKE_VERSION}.tar.gz \
|
|
||||||
&& echo "\e[32mbuilding: Boost\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& curl -s -L -o boost_${BOOST_VERSION}.tar.bz2 https://dl.bintray.com/boostorg/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 > /dev/null \
|
|
||||||
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
|
||||||
&& tar -xvf boost_${BOOST_VERSION}.tar.bz2 > /dev/null \
|
|
||||||
&& cd boost_${BOOST_VERSION} || exit 1 \
|
|
||||||
&& ./bootstrap.sh > /dev/null \
|
|
||||||
&& ./b2 -a install --prefix=$BASE_DIR --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale threading=multi threadapi=pthread cflags="$CFLAGS" cxxflags="$CXXFLAGS" stage > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/boost_${BOOST_VERSION} \
|
|
||||||
&& rm -rf /data/boost_${BOOST_VERSION}.tar.bz2
|
|
||||||
|
|
||||||
WORKDIR /data
|
|
||||||
ENV BASE_DIR /usr/local
|
|
||||||
|
|
||||||
# OpenSSL
|
|
||||||
ARG OPENSSL_VERSION=1.1.1
|
|
||||||
ARG OPENSSL_FIX=g
|
|
||||||
ARG OPENSSL_HASH=ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46
|
|
||||||
# ZMQ
|
|
||||||
ARG ZMQ_VERSION=v4.3.2
|
|
||||||
ARG ZMQ_HASH=a84ffa12b2eb3569ced199660bac5ad128bff1f0
|
|
||||||
# zmq.hpp
|
|
||||||
ARG CPPZMQ_VERSION=v4.4.1
|
|
||||||
ARG CPPZMQ_HASH=f5b36e563598d48fcc0d82e589d3596afef945ae
|
|
||||||
# Readline
|
|
||||||
ARG READLINE_VERSION=8.0
|
|
||||||
ARG READLINE_HASH=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
|
|
||||||
# Sodium
|
|
||||||
ARG SODIUM_VERSION=1.0.18
|
|
||||||
ARG SODIUM_HASH=4f5e89fa84ce1d178a6765b8b46f2b6f91216677
|
|
||||||
|
|
||||||
ENV CFLAGS='-fPIC -O2 -g'
|
|
||||||
ENV CXXFLAGS='-fPIC -O2 -g'
|
|
||||||
ENV LDFLAGS='-static-libstdc++'
|
|
||||||
|
|
||||||
RUN echo "\e[32mbuilding: Openssl\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}${OPENSSL_FIX}.tar.gz > /dev/null \
|
|
||||||
# && curl -s -O https://www.openssl.org/source/old/${OPENSSL_VERSION}/openssl-${OPENSSL_VERSION}${OPENSSL_FIX}.tar.gz > /dev/null \
|
|
||||||
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}${OPENSSL_FIX}.tar.gz" | sha256sum -c \
|
|
||||||
&& tar -xzf openssl-${OPENSSL_VERSION}${OPENSSL_FIX}.tar.gz > /dev/null \
|
|
||||||
&& cd openssl-${OPENSSL_VERSION}${OPENSSL_FIX} || exit 1 \
|
|
||||||
&& ./Configure --prefix=$BASE_DIR linux-x86_64 no-shared --static "$CFLAGS" > /dev/null \
|
|
||||||
&& make build_generated > /dev/null \
|
|
||||||
&& make libcrypto.a > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/openssl-${OPENSSL_VERSION}${OPENSSL_FIX} \
|
|
||||||
&& rm -rf /data/openssl-${OPENSSL_VERSION}${OPENSSL_FIX}.tar.gz \
|
|
||||||
&& echo "\e[32mbuilding: ZMQ\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& git clone --branch ${ZMQ_VERSION} --single-branch --depth 1 https://github.com/zeromq/libzmq.git > /dev/null \
|
|
||||||
&& cd libzmq || exit 1 \
|
|
||||||
&& test `git rev-parse HEAD` = ${ZMQ_HASH} || exit 1 \
|
|
||||||
&& ./autogen.sh > /dev/null \
|
|
||||||
&& ./configure --prefix=$BASE_DIR --enable-libunwind=no --enable-static --disable-shared > /dev/null \
|
|
||||||
&& make > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& ldconfig > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/libzmq \
|
|
||||||
&& echo "\e[32mbuilding: zmq.hpp\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& git clone --branch ${CPPZMQ_VERSION} --single-branch --depth 1 https://github.com/zeromq/cppzmq.git > /dev/null \
|
|
||||||
&& cd cppzmq || exit 1 \
|
|
||||||
&& test `git rev-parse HEAD` = ${CPPZMQ_HASH} || exit 1 \
|
|
||||||
&& mv *.hpp $BASE_DIR/include \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/cppzmq \
|
|
||||||
&& echo "\e[32mbuilding: Readline\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& curl -s -O https://ftp.gnu.org/gnu/readline/readline-${READLINE_VERSION}.tar.gz > /dev/null \
|
|
||||||
&& echo "${READLINE_HASH} readline-${READLINE_VERSION}.tar.gz" | sha256sum -c \
|
|
||||||
&& tar -xzf readline-${READLINE_VERSION}.tar.gz > /dev/null \
|
|
||||||
&& cd readline-${READLINE_VERSION} || exit 1 \
|
|
||||||
&& ./configure --prefix=$BASE_DIR > /dev/null \
|
|
||||||
&& make > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/readline-${READLINE_VERSION} \
|
|
||||||
&& rm -rf readline-${READLINE_VERSION}.tar.gz \
|
|
||||||
&& echo "\e[32mbuilding: Sodium\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& git clone --branch ${SODIUM_VERSION} --single-branch --depth 1 https://github.com/jedisct1/libsodium.git > /dev/null \
|
|
||||||
&& cd libsodium || exit 1 \
|
|
||||||
&& test `git rev-parse HEAD` = ${SODIUM_HASH} || exit 1 \
|
|
||||||
&& ./autogen.sh \
|
|
||||||
&& ./configure --prefix=$BASE_DIR > /dev/null \
|
|
||||||
&& make > /dev/null \
|
|
||||||
&& make check > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/libsodium
|
|
||||||
|
|
||||||
WORKDIR /data
|
|
||||||
ENV BASE_DIR /usr/local
|
|
||||||
|
|
||||||
# Udev
|
|
||||||
ARG UDEV_VERSION=v3.2.8
|
|
||||||
ARG UDEV_HASH=d69f3f28348123ab7fa0ebac63ec2fd16800c5e0
|
|
||||||
# Libusb
|
|
||||||
ARG USB_VERSION=v1.0.22
|
|
||||||
ARG USB_HASH=0034b2afdcdb1614e78edaa2a9e22d5936aeae5d
|
|
||||||
# Hidapi
|
|
||||||
ARG HIDAPI_VERSION=hidapi-0.8.0-rc1
|
|
||||||
ARG HIDAPI_HASH=40cf516139b5b61e30d9403a48db23d8f915f52c
|
|
||||||
# Protobuf
|
|
||||||
ARG PROTOBUF_VERSION=v3.7.1
|
|
||||||
ARG PROTOBUF_HASH=6973c3a5041636c1d8dc5f7f6c8c1f3c15bc63d6
|
|
||||||
|
|
||||||
ENV CFLAGS='-fPIC -O2 -g'
|
|
||||||
ENV CXXFLAGS='-fPIC -O2 -g'
|
|
||||||
ENV LDFLAGS='-static-libstdc++'
|
|
||||||
|
|
||||||
RUN echo "\e[32mbuilding: Udev\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& git clone --branch ${UDEV_VERSION} --single-branch --depth 1 https://github.com/gentoo/eudev > /dev/null \
|
|
||||||
&& cd eudev || exit 1 \
|
|
||||||
&& test `git rev-parse HEAD` = ${UDEV_HASH} || exit 1 \
|
|
||||||
&& ./autogen.sh \
|
|
||||||
&& ./configure --prefix=$BASE_DIR --disable-gudev --disable-introspection --disable-hwdb --disable-manpages --disable-shared > /dev/null \
|
|
||||||
&& make > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/eudev \
|
|
||||||
&& echo "\e[32mbuilding: Libusb\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& git clone --branch ${USB_VERSION} --single-branch --depth 1 https://github.com/libusb/libusb.git > /dev/null \
|
|
||||||
&& cd libusb || exit 1 \
|
|
||||||
&& test `git rev-parse HEAD` = ${USB_HASH} || exit 1 \
|
|
||||||
&& ./autogen.sh > /dev/null \
|
|
||||||
&& ./configure --prefix=$BASE_DIR --disable-shared > /dev/null \
|
|
||||||
&& make > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/libusb \
|
|
||||||
&& echo "\e[32mbuilding: Hidapi\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& git clone --branch ${HIDAPI_VERSION} --single-branch --depth 1 https://github.com/signal11/hidapi > /dev/null \
|
|
||||||
&& cd hidapi || exit 1 \
|
|
||||||
&& test `git rev-parse HEAD` = ${HIDAPI_HASH} || exit 1 \
|
|
||||||
&& ./bootstrap \
|
|
||||||
&& ./configure --prefix=$BASE_DIR --enable-static --disable-shared > /dev/null \
|
|
||||||
&& make > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/hidapi \
|
|
||||||
&& echo "\e[32mbuilding: Protobuf\e[39m" \
|
|
||||||
&& set -ex \
|
|
||||||
&& git clone --branch ${PROTOBUF_VERSION} --single-branch --depth 1 https://github.com/protocolbuffers/protobuf > /dev/null \
|
|
||||||
&& cd protobuf || exit 1 \
|
|
||||||
&& test `git rev-parse HEAD` = ${PROTOBUF_HASH} || exit 1 \
|
|
||||||
&& git submodule update --init --recursive > /dev/null \
|
|
||||||
&& ./autogen.sh > /dev/null \
|
|
||||||
&& ./configure --prefix=$BASE_DIR --enable-static --disable-shared > /dev/null \
|
|
||||||
&& make > /dev/null \
|
|
||||||
&& make install > /dev/null \
|
|
||||||
&& ldconfig \
|
|
||||||
&& cd /data || exit 1 \
|
|
||||||
&& rm -rf /data/protobuf \
|
|
||||||
&& echo "\e[32mdone building this mofo!\e[39m"
|
|
@ -1,9 +0,0 @@
|
|||||||
FROM golang:bullseye
|
|
||||||
|
|
||||||
# Install exporter from Golang source
|
|
||||||
RUN go install github.com/cirocosta/monero-exporter/cmd/monero-exporter@master
|
|
||||||
|
|
||||||
# Install GeoLite database
|
|
||||||
RUN wget https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-City.mmdb -O /geoip.mmdb
|
|
||||||
|
|
||||||
ENTRYPOINT [ "monero-exporter", "--geoip-filepath", "/geoip.mmdb" ]
|
|
File diff suppressed because it is too large
Load Diff
@ -1,29 +0,0 @@
|
|||||||
[analytics]
|
|
||||||
reporting_enabled = false
|
|
||||||
check_for_updates = false
|
|
||||||
|
|
||||||
[auth]
|
|
||||||
disable_login_form = false
|
|
||||||
|
|
||||||
; [auth.anonymous]
|
|
||||||
; enabled = true
|
|
||||||
; org_role = Admin
|
|
||||||
|
|
||||||
[dashboards]
|
|
||||||
min_refresh_interval = 1m
|
|
||||||
default_home_dashboard_path = /var/lib/grafana/dashboards/node_dashboard.json
|
|
||||||
|
|
||||||
[paths]
|
|
||||||
provisioning = /etc/grafana/provisioning
|
|
||||||
|
|
||||||
[server]
|
|
||||||
root_url = https://127.0.0.1
|
|
||||||
enable_gzip = true
|
|
||||||
read_timeout = 2m
|
|
||||||
|
|
||||||
[snapshots]
|
|
||||||
external_enabled = false
|
|
||||||
|
|
||||||
[security]
|
|
||||||
admin_user = admin
|
|
||||||
admin_password = admin
|
|
@ -1,12 +0,0 @@
|
|||||||
apiVersion: 1
|
|
||||||
|
|
||||||
providers:
|
|
||||||
- name: 'fs'
|
|
||||||
orgId: 1
|
|
||||||
folder: ''
|
|
||||||
type: 'file'
|
|
||||||
updateIntervalSeconds: 30
|
|
||||||
allowUiUpdates: true
|
|
||||||
options:
|
|
||||||
path: '/var/lib/grafana/dashboards'
|
|
||||||
foldersFromFilesStructure: true
|
|
@ -1,12 +0,0 @@
|
|||||||
apiVersion: 1
|
|
||||||
|
|
||||||
datasources:
|
|
||||||
- name: prometheus
|
|
||||||
type: prometheus
|
|
||||||
access: proxy
|
|
||||||
orgId: 1
|
|
||||||
url: http://prometheus:9090
|
|
||||||
isDefault: true
|
|
||||||
version: 1
|
|
||||||
editable: false
|
|
||||||
timeInterval: 30s
|
|
@ -1,9 +0,0 @@
|
|||||||
global:
|
|
||||||
scrape_interval: 10s
|
|
||||||
evaluation_interval: 10s
|
|
||||||
external_labels:
|
|
||||||
monitor: wownerod-exporter
|
|
||||||
scrape_configs:
|
|
||||||
- job_name: "wownerod"
|
|
||||||
static_configs:
|
|
||||||
- targets: ["exporter:9000"]
|
|
Before Width: | Height: | Size: 214 KiB |
Before Width: | Height: | Size: 346 KiB |
@ -0,0 +1,16 @@
|
|||||||
|
FROM ubuntu:19.10
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
apt-get update \
|
||||||
|
&& apt-get install -y git build-essential cmake libuv1-dev libssl-dev libhwloc-dev \
|
||||||
|
&& git clone https://github.com/xmrig/xmrig.git /root/xmrig \
|
||||||
|
&& mkdir /root/xmrig/build \
|
||||||
|
&& cd /root/xmrig/build \
|
||||||
|
&& cmake .. \
|
||||||
|
&& make
|
||||||
|
|
||||||
|
COPY start_mining .
|
||||||
|
|
||||||
|
RUN chmod +x start_mining
|
||||||
|
|
||||||
|
ENTRYPOINT ["./start_mining"]
|
@ -0,0 +1,16 @@
|
|||||||
|
# Miner
|
||||||
|
|
||||||
|
This is a quick and dirty implementation. There's some hardcoded choices in there until I go back and update it or someone makes a PR.
|
||||||
|
|
||||||
|
```
|
||||||
|
# build container image of xmrig (mining software)
|
||||||
|
docker build -t miner .
|
||||||
|
|
||||||
|
# run simple wow miner
|
||||||
|
docker run --rm -d --name miner miner <your wow address>
|
||||||
|
|
||||||
|
# run big monero miner
|
||||||
|
docker run --rm -d --name miner miner <your xmr address> xmr 8
|
||||||
|
```
|
||||||
|
|
||||||
|
See [start_mining](./start_mining) for details of inputs.
|
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
RECV_ADDR=${1}
|
||||||
|
SYMBOL=${2:-wow}
|
||||||
|
THREADS=${3:-2}
|
||||||
|
|
||||||
|
if [[ "${SYMBOL}" == "wow" ]]; then
|
||||||
|
ALGO="rx/wow"
|
||||||
|
CRYPTO="wownero"
|
||||||
|
URL=cryptonote.social:2222
|
||||||
|
ADDRESS=${RECV_ADDR}
|
||||||
|
elif [[ "${SYMBOL}" == "xmr" ]]; then
|
||||||
|
ALGO="rx/0"
|
||||||
|
CRYPTO="monero"
|
||||||
|
URL=pool.supportxmr.com:3333
|
||||||
|
ADDRESS=${RECV_ADDR}
|
||||||
|
fi
|
||||||
|
|
||||||
|
/root/xmrig/build/xmrig \
|
||||||
|
--donate-level 1 \
|
||||||
|
--url=${URL} \
|
||||||
|
--user=${ADDRESS} \
|
||||||
|
--pass=$HOSTNAME \
|
||||||
|
--algo=${ALGO} \
|
||||||
|
--keepalive \
|
||||||
|
--print-time=10 \
|
||||||
|
--threads=${THREADS}
|
@ -0,0 +1,3 @@
|
|||||||
|
data
|
||||||
|
.env
|
||||||
|
docker-compose.prod.yaml
|
@ -0,0 +1,58 @@
|
|||||||
|
# Wownero
|
||||||
|
|
||||||
|
Container image for the official Wownero source code compiled to provide daemon, wallet CLI, and wallet RPC binaries.
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
Pre-requisites:
|
||||||
|
|
||||||
|
* Recent Ubuntu Linux
|
||||||
|
* `sudo apt-get install docker.io docker-compose`
|
||||||
|
* `sudo usermod -aG docker $(whoami); logout`
|
||||||
|
|
||||||
|
## Node-in-a-box
|
||||||
|
|
||||||
|
The simplest way to get started is to use docker-compose and turn up the provided packages, including the Wownero daemon, monitoring tools, and a visualization/graphing tool.
|
||||||
|
|
||||||
|
```
|
||||||
|
cd wownero/ # in this folder
|
||||||
|
docker-compose up -d
|
||||||
|
# wownerod available at ports 34567 and 34568
|
||||||
|
```
|
||||||
|
|
||||||
|
You can host the node on an official DNS endpoint for public usage or keep it local for your own private usage.
|
||||||
|
|
||||||
|
![](files/static/wownerod-grafana.png)
|
||||||
|
|
||||||
|
## Manual Daemon and Wallet Setup
|
||||||
|
|
||||||
|
The node and wallet software is in the same package, so both can be used from within the Docker container.
|
||||||
|
|
||||||
|
```
|
||||||
|
# build container image of wownero binaries
|
||||||
|
docker build -t wownero .
|
||||||
|
|
||||||
|
# create network bridge so containers can communicate
|
||||||
|
docker network create --driver=bridge wownero
|
||||||
|
|
||||||
|
# run wownero daemon with RPC bindings
|
||||||
|
docker run -d --rm --name wownero-daemon \
|
||||||
|
--net=wownero \
|
||||||
|
-v daemon:/data \
|
||||||
|
-p 34568:34568 \
|
||||||
|
wownero \
|
||||||
|
wownerod \
|
||||||
|
--data-dir=/data \
|
||||||
|
--rpc-bind-ip=0.0.0.0 \
|
||||||
|
--confirm-external-bind \
|
||||||
|
--non-interactive
|
||||||
|
|
||||||
|
# run wownero-wallet-cli
|
||||||
|
docker run --rm -it --name wownero-wallet \
|
||||||
|
--net=wownero \
|
||||||
|
-v wallet:/data \
|
||||||
|
wownero \
|
||||||
|
wownero-wallet-cli \
|
||||||
|
--trusted-daemon \
|
||||||
|
--daemon-address wownero-daemon:34568
|
||||||
|
```
|
@ -0,0 +1,11 @@
|
|||||||
|
FROM node:8
|
||||||
|
|
||||||
|
WORKDIR /opt/wownerod_exporter
|
||||||
|
|
||||||
|
RUN git clone https://github.com/lalanza808/monerod_exporter.git --branch=master --depth=1 .
|
||||||
|
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
|
ENTRYPOINT ["node", "index.js"]
|
@ -0,0 +1,611 @@
|
|||||||
|
{
|
||||||
|
"annotations": {
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"builtIn": 1,
|
||||||
|
"datasource": "-- Grafana --",
|
||||||
|
"enable": true,
|
||||||
|
"hide": true,
|
||||||
|
"iconColor": "rgba(0, 211, 255, 1)",
|
||||||
|
"name": "Annotations & Alerts",
|
||||||
|
"type": "dashboard"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editable": true,
|
||||||
|
"gnetId": null,
|
||||||
|
"graphTooltip": 0,
|
||||||
|
"id": 1,
|
||||||
|
"links": [],
|
||||||
|
"panels": [
|
||||||
|
{
|
||||||
|
"aliasColors": {},
|
||||||
|
"bars": false,
|
||||||
|
"dashLength": 10,
|
||||||
|
"dashes": false,
|
||||||
|
"datasource": null,
|
||||||
|
"fill": 0,
|
||||||
|
"fillGradient": 0,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 9,
|
||||||
|
"w": 18,
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"hiddenSeries": false,
|
||||||
|
"id": 4,
|
||||||
|
"legend": {
|
||||||
|
"avg": false,
|
||||||
|
"current": false,
|
||||||
|
"max": false,
|
||||||
|
"min": false,
|
||||||
|
"show": true,
|
||||||
|
"total": false,
|
||||||
|
"values": false
|
||||||
|
},
|
||||||
|
"lines": true,
|
||||||
|
"linewidth": 1,
|
||||||
|
"nullPointMode": "connected",
|
||||||
|
"options": {
|
||||||
|
"dataLinks": []
|
||||||
|
},
|
||||||
|
"percentage": false,
|
||||||
|
"pointradius": 2,
|
||||||
|
"points": false,
|
||||||
|
"renderer": "flot",
|
||||||
|
"seriesOverrides": [],
|
||||||
|
"spaceLength": 10,
|
||||||
|
"stack": false,
|
||||||
|
"steppedLine": false,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"expr": "avg(monerod_connections_incoming)",
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "Incoming",
|
||||||
|
"refId": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expr": "avg(monerod_connections_outgoing)",
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "Outgoing",
|
||||||
|
"refId": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expr": "avg(monerod_rpc_connections_count)",
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "RPC",
|
||||||
|
"refId": "C"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": [],
|
||||||
|
"timeFrom": null,
|
||||||
|
"timeRegions": [],
|
||||||
|
"timeShift": null,
|
||||||
|
"title": "Connections",
|
||||||
|
"tooltip": {
|
||||||
|
"shared": true,
|
||||||
|
"sort": 0,
|
||||||
|
"value_type": "individual"
|
||||||
|
},
|
||||||
|
"type": "graph",
|
||||||
|
"xaxis": {
|
||||||
|
"buckets": null,
|
||||||
|
"mode": "time",
|
||||||
|
"name": null,
|
||||||
|
"show": true,
|
||||||
|
"values": []
|
||||||
|
},
|
||||||
|
"yaxes": [
|
||||||
|
{
|
||||||
|
"decimals": null,
|
||||||
|
"format": "none",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": "0",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "short",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"yaxis": {
|
||||||
|
"align": false,
|
||||||
|
"alignLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"aliasColors": {},
|
||||||
|
"bars": false,
|
||||||
|
"dashLength": 10,
|
||||||
|
"dashes": false,
|
||||||
|
"datasource": null,
|
||||||
|
"fill": 0,
|
||||||
|
"fillGradient": 0,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 9,
|
||||||
|
"w": 6,
|
||||||
|
"x": 18,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"hiddenSeries": false,
|
||||||
|
"id": 8,
|
||||||
|
"legend": {
|
||||||
|
"avg": false,
|
||||||
|
"current": false,
|
||||||
|
"max": false,
|
||||||
|
"min": false,
|
||||||
|
"show": false,
|
||||||
|
"total": false,
|
||||||
|
"values": false
|
||||||
|
},
|
||||||
|
"lines": true,
|
||||||
|
"linewidth": 1,
|
||||||
|
"nullPointMode": "connected",
|
||||||
|
"options": {
|
||||||
|
"dataLinks": []
|
||||||
|
},
|
||||||
|
"percentage": false,
|
||||||
|
"pointradius": 2,
|
||||||
|
"points": false,
|
||||||
|
"renderer": "flot",
|
||||||
|
"seriesOverrides": [
|
||||||
|
{
|
||||||
|
"alias": "/.*/",
|
||||||
|
"color": "#FA6400"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"spaceLength": 10,
|
||||||
|
"stack": false,
|
||||||
|
"steppedLine": false,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"expr": "avg(monerod_block_reward) * 10",
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "Block Reward (WOW)",
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": [],
|
||||||
|
"timeFrom": null,
|
||||||
|
"timeRegions": [],
|
||||||
|
"timeShift": null,
|
||||||
|
"title": "Block Reward (WOW)",
|
||||||
|
"tooltip": {
|
||||||
|
"shared": true,
|
||||||
|
"sort": 0,
|
||||||
|
"value_type": "individual"
|
||||||
|
},
|
||||||
|
"type": "graph",
|
||||||
|
"xaxis": {
|
||||||
|
"buckets": null,
|
||||||
|
"mode": "time",
|
||||||
|
"name": null,
|
||||||
|
"show": true,
|
||||||
|
"values": []
|
||||||
|
},
|
||||||
|
"yaxes": [
|
||||||
|
{
|
||||||
|
"decimals": null,
|
||||||
|
"format": "none",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "short",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"yaxis": {
|
||||||
|
"align": false,
|
||||||
|
"alignLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"aliasColors": {},
|
||||||
|
"bars": false,
|
||||||
|
"dashLength": 10,
|
||||||
|
"dashes": false,
|
||||||
|
"datasource": null,
|
||||||
|
"fill": 0,
|
||||||
|
"fillGradient": 0,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 9,
|
||||||
|
"w": 12,
|
||||||
|
"x": 0,
|
||||||
|
"y": 9
|
||||||
|
},
|
||||||
|
"hiddenSeries": false,
|
||||||
|
"id": 6,
|
||||||
|
"legend": {
|
||||||
|
"avg": false,
|
||||||
|
"current": false,
|
||||||
|
"max": false,
|
||||||
|
"min": false,
|
||||||
|
"show": false,
|
||||||
|
"total": false,
|
||||||
|
"values": false
|
||||||
|
},
|
||||||
|
"lines": true,
|
||||||
|
"linewidth": 1,
|
||||||
|
"nullPointMode": "connected",
|
||||||
|
"options": {
|
||||||
|
"dataLinks": []
|
||||||
|
},
|
||||||
|
"percentage": false,
|
||||||
|
"pointradius": 2,
|
||||||
|
"points": false,
|
||||||
|
"renderer": "flot",
|
||||||
|
"seriesOverrides": [
|
||||||
|
{
|
||||||
|
"alias": "/.*/",
|
||||||
|
"color": "#8F3BB8"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"spaceLength": 10,
|
||||||
|
"stack": false,
|
||||||
|
"steppedLine": false,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"expr": "avg(monerod_tx_mempool)",
|
||||||
|
"interval": "",
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "Pool Transactions",
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": [],
|
||||||
|
"timeFrom": null,
|
||||||
|
"timeRegions": [],
|
||||||
|
"timeShift": null,
|
||||||
|
"title": "Mempool Transactions",
|
||||||
|
"tooltip": {
|
||||||
|
"shared": true,
|
||||||
|
"sort": 0,
|
||||||
|
"value_type": "individual"
|
||||||
|
},
|
||||||
|
"type": "graph",
|
||||||
|
"xaxis": {
|
||||||
|
"buckets": null,
|
||||||
|
"mode": "time",
|
||||||
|
"name": null,
|
||||||
|
"show": true,
|
||||||
|
"values": []
|
||||||
|
},
|
||||||
|
"yaxes": [
|
||||||
|
{
|
||||||
|
"format": "short",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "short",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"yaxis": {
|
||||||
|
"align": false,
|
||||||
|
"alignLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"aliasColors": {},
|
||||||
|
"bars": false,
|
||||||
|
"dashLength": 10,
|
||||||
|
"dashes": false,
|
||||||
|
"datasource": null,
|
||||||
|
"fill": 0,
|
||||||
|
"fillGradient": 0,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 9,
|
||||||
|
"w": 12,
|
||||||
|
"x": 12,
|
||||||
|
"y": 9
|
||||||
|
},
|
||||||
|
"hiddenSeries": false,
|
||||||
|
"id": 2,
|
||||||
|
"legend": {
|
||||||
|
"avg": false,
|
||||||
|
"current": false,
|
||||||
|
"max": false,
|
||||||
|
"min": false,
|
||||||
|
"show": false,
|
||||||
|
"total": false,
|
||||||
|
"values": false
|
||||||
|
},
|
||||||
|
"lines": true,
|
||||||
|
"linewidth": 1,
|
||||||
|
"nullPointMode": "connected",
|
||||||
|
"options": {
|
||||||
|
"dataLinks": []
|
||||||
|
},
|
||||||
|
"percentage": false,
|
||||||
|
"pointradius": 2,
|
||||||
|
"points": false,
|
||||||
|
"renderer": "flot",
|
||||||
|
"seriesOverrides": [
|
||||||
|
{
|
||||||
|
"alias": "/.*/",
|
||||||
|
"color": "#C4162A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"spaceLength": 10,
|
||||||
|
"stack": false,
|
||||||
|
"steppedLine": false,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"expr": "avg(monerod_block_difficulty)",
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": [],
|
||||||
|
"timeFrom": null,
|
||||||
|
"timeRegions": [],
|
||||||
|
"timeShift": null,
|
||||||
|
"title": "Difficulty",
|
||||||
|
"tooltip": {
|
||||||
|
"shared": true,
|
||||||
|
"sort": 0,
|
||||||
|
"value_type": "individual"
|
||||||
|
},
|
||||||
|
"type": "graph",
|
||||||
|
"xaxis": {
|
||||||
|
"buckets": null,
|
||||||
|
"mode": "time",
|
||||||
|
"name": null,
|
||||||
|
"show": true,
|
||||||
|
"values": []
|
||||||
|
},
|
||||||
|
"yaxes": [
|
||||||
|
{
|
||||||
|
"format": "none",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "short",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"yaxis": {
|
||||||
|
"align": false,
|
||||||
|
"alignLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"aliasColors": {},
|
||||||
|
"bars": false,
|
||||||
|
"dashLength": 10,
|
||||||
|
"dashes": false,
|
||||||
|
"datasource": null,
|
||||||
|
"fill": 0,
|
||||||
|
"fillGradient": 0,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 8,
|
||||||
|
"w": 20,
|
||||||
|
"x": 0,
|
||||||
|
"y": 18
|
||||||
|
},
|
||||||
|
"hiddenSeries": false,
|
||||||
|
"id": 12,
|
||||||
|
"legend": {
|
||||||
|
"avg": false,
|
||||||
|
"current": false,
|
||||||
|
"max": false,
|
||||||
|
"min": false,
|
||||||
|
"show": true,
|
||||||
|
"total": false,
|
||||||
|
"values": false
|
||||||
|
},
|
||||||
|
"lines": true,
|
||||||
|
"linewidth": 1,
|
||||||
|
"nullPointMode": "null",
|
||||||
|
"options": {
|
||||||
|
"dataLinks": []
|
||||||
|
},
|
||||||
|
"percentage": false,
|
||||||
|
"pointradius": 2,
|
||||||
|
"points": false,
|
||||||
|
"renderer": "flot",
|
||||||
|
"seriesOverrides": [
|
||||||
|
{
|
||||||
|
"alias": "/.*/",
|
||||||
|
"color": "#1F60C4"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"spaceLength": 10,
|
||||||
|
"stack": false,
|
||||||
|
"steppedLine": false,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"expr": "monerod_database_size",
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "Chain Size",
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": [],
|
||||||
|
"timeFrom": null,
|
||||||
|
"timeRegions": [],
|
||||||
|
"timeShift": null,
|
||||||
|
"title": "Chain Size",
|
||||||
|
"tooltip": {
|
||||||
|
"shared": true,
|
||||||
|
"sort": 0,
|
||||||
|
"value_type": "individual"
|
||||||
|
},
|
||||||
|
"type": "graph",
|
||||||
|
"xaxis": {
|
||||||
|
"buckets": null,
|
||||||
|
"mode": "time",
|
||||||
|
"name": null,
|
||||||
|
"show": true,
|
||||||
|
"values": []
|
||||||
|
},
|
||||||
|
"yaxes": [
|
||||||
|
{
|
||||||
|
"format": "decbytes",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "short",
|
||||||
|
"label": null,
|
||||||
|
"logBase": 1,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"show": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"yaxis": {
|
||||||
|
"align": false,
|
||||||
|
"alignLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cacheTimeout": null,
|
||||||
|
"colorBackground": false,
|
||||||
|
"colorPostfix": false,
|
||||||
|
"colorPrefix": false,
|
||||||
|
"colorValue": false,
|
||||||
|
"colors": [
|
||||||
|
"#299c46",
|
||||||
|
"rgba(237, 129, 40, 0.89)",
|
||||||
|
"#d44a3a"
|
||||||
|
],
|
||||||
|
"datasource": null,
|
||||||
|
"format": "none",
|
||||||
|
"gauge": {
|
||||||
|
"maxValue": 100,
|
||||||
|
"minValue": 0,
|
||||||
|
"show": false,
|
||||||
|
"thresholdLabels": false,
|
||||||
|
"thresholdMarkers": true
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 8,
|
||||||
|
"w": 4,
|
||||||
|
"x": 20,
|
||||||
|
"y": 18
|
||||||
|
},
|
||||||
|
"id": 10,
|
||||||
|
"interval": null,
|
||||||
|
"links": [],
|
||||||
|
"mappingType": 1,
|
||||||
|
"mappingTypes": [
|
||||||
|
{
|
||||||
|
"name": "value to text",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "range to text",
|
||||||
|
"value": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"maxDataPoints": 100,
|
||||||
|
"nullPointMode": "connected",
|
||||||
|
"nullText": null,
|
||||||
|
"options": {},
|
||||||
|
"postfix": "",
|
||||||
|
"postfixFontSize": "50%",
|
||||||
|
"prefix": "",
|
||||||
|
"prefixFontSize": "50%",
|
||||||
|
"rangeMaps": [
|
||||||
|
{
|
||||||
|
"from": "null",
|
||||||
|
"text": "N/A",
|
||||||
|
"to": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sparkline": {
|
||||||
|
"fillColor": "rgba(31, 118, 189, 0.18)",
|
||||||
|
"full": false,
|
||||||
|
"lineColor": "rgb(31, 120, 193)",
|
||||||
|
"show": false,
|
||||||
|
"ymax": null,
|
||||||
|
"ymin": null
|
||||||
|
},
|
||||||
|
"tableColumn": "",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"expr": "avg(monerod_tx_chain)",
|
||||||
|
"instant": true,
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": "",
|
||||||
|
"timeFrom": null,
|
||||||
|
"timeShift": null,
|
||||||
|
"title": "Total Transactions",
|
||||||
|
"type": "singlestat",
|
||||||
|
"valueFontSize": "100%",
|
||||||
|
"valueMaps": [
|
||||||
|
{
|
||||||
|
"op": "=",
|
||||||
|
"text": "N/A",
|
||||||
|
"value": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"valueName": "current"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"refresh": "30s",
|
||||||
|
"schemaVersion": 21,
|
||||||
|
"style": "dark",
|
||||||
|
"tags": [],
|
||||||
|
"templating": {
|
||||||
|
"list": []
|
||||||
|
},
|
||||||
|
"time": {
|
||||||
|
"from": "now-90d",
|
||||||
|
"to": "now"
|
||||||
|
},
|
||||||
|
"timepicker": {
|
||||||
|
"refresh_intervals": [
|
||||||
|
"5s",
|
||||||
|
"10s",
|
||||||
|
"30s",
|
||||||
|
"1m",
|
||||||
|
"5m",
|
||||||
|
"15m",
|
||||||
|
"30m",
|
||||||
|
"1h",
|
||||||
|
"2h",
|
||||||
|
"1d"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"timezone": "",
|
||||||
|
"title": "Daemon Stats",
|
||||||
|
"uid": "0ktA4KDGk",
|
||||||
|
"version": 5
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: 1
|
||||||
|
|
||||||
|
providers:
|
||||||
|
- name: 'default'
|
||||||
|
orgId: 1
|
||||||
|
folder: ''
|
||||||
|
type: file
|
||||||
|
disableDeletion: true
|
||||||
|
editable: true
|
||||||
|
updateIntervalSeconds: 60
|
||||||
|
allowUiUpdates: true
|
||||||
|
options:
|
||||||
|
path: /var/lib/grafana/dashboards
|
@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: 1
|
||||||
|
|
||||||
|
datasources:
|
||||||
|
- name: Prometheus
|
||||||
|
type: prometheus
|
||||||
|
url: http://prometheus:9090
|
||||||
|
access: proxy
|
||||||
|
isDefault: true
|
||||||
|
timeInterval: 10s
|
@ -0,0 +1,17 @@
|
|||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
evaluation_interval: 60s
|
||||||
|
|
||||||
|
external_labels:
|
||||||
|
monitor: wownerod-exporter
|
||||||
|
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: "wownerod-exporter"
|
||||||
|
static_configs:
|
||||||
|
- targets: ["exporter:8080"]
|
||||||
|
|
||||||
|
alerting:
|
||||||
|
alertmanagers:
|
||||||
|
- static_configs:
|
||||||
|
- targets:
|
||||||
|
# - alertmanager:9093
|
Before Width: | Height: | Size: 716 KiB After Width: | Height: | Size: 716 KiB |
Reference in new issue