How to know how healthy sql server database now?

Maybe it is a little odd question but I am getting more into a DBA roll at my company.

So I want to know how healthy SQL database is now (before I started to work with it).

Then, in a month or so, I want to check again to see how healthy database is and compare it to previous state.

Basically is any way I can take like a snapshot of the database now and snapshot of the database later? And then see what’s been approved, so I can track my progress.

Any source of information would be great.

docker – I’m trying to setup Envoy as a front proxy but I’m running into “no healthy upstream”

I’m trying to figure out how to setup Envoy as a front reverse proxy. I have a very contrived frontend (nextjs that just does a fetch to the backend) and a mocked api in nodejs that has two stubbed endpoints. The source is on github: https://github.com/chanced/learning-envoy.

I’m using docker-compose with the primary entry being docker-compose-dev.yml. It sets up 1 frontend container, two api containers, and an envoy container. Envoy’s config is dev.envoy.yml which gets copied over as a volume.

If you would like to see it run locally, I have a setup command in the Makefile to prep the containers and a dev command which basically runs docker-compose up.

I don’t see any errors from Envoy and the services are reachable directly via their ports (3000,7000, 7001) but Envoy returns

no healthy upstream

… once you get past the invalid cert warning, of course.

What am I doing wrong? Thanks in advance!

λ ~/Projects/learning-envoy/ master* make dev
docker-compose -f docker-compose-dev.yml down && docker-compose -f docker-compose-dev.yml up --remove-orphans
Removing api1     ... done
Removing api2     ... done
Removing envoy    ... done
Removing frontend ... done
Removing network learning-envoy_learning_envoy_mesh
Removing network learning-envoy_default
Creating network "learning-envoy_learning_envoy_mesh" with the default driver
Creating network "learning-envoy_default" with the default driver
Creating api2     ... done
Creating api1     ... done
Creating frontend ... done
Creating envoy    ... done
Attaching to frontend, envoy, api1, api2
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:256) initializing epoch 0 (hot restart version=11.104)
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:258) statically linked extensions:
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.filters.listener: envoy.filters.listener.http_inspector, envoy.filters.listener.original_dst, envoy.filters.listener.original_src, envoy.filters.listener.proxy_protocol, envoy.filters.listener.tls_inspector, envoy.listener.http_inspector, envoy.listener.original_dst, envoy.listener.original_src, envoy.listener.proxy_protocol, envoy.listener.tls_inspector
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.transport_sockets.downstream: envoy.transport_sockets.alts, envoy.transport_sockets.raw_buffer, envoy.transport_sockets.tap, envoy.transport_sockets.tls, raw_buffer, tls
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.filters.network: envoy.client_ssl_auth, envoy.echo, envoy.ext_authz, envoy.filters.network.client_ssl_auth, envoy.filters.network.direct_response, envoy.filters.network.dubbo_proxy, envoy.filters.network.echo, envoy.filters.network.ext_authz, envoy.filters.network.http_connection_manager, envoy.filters.network.kafka_broker, envoy.filters.network.local_ratelimit, envoy.filters.network.mongo_proxy, envoy.filters.network.mysql_proxy, envoy.filters.network.ratelimit, envoy.filters.network.rbac, envoy.filters.network.redis_proxy, envoy.filters.network.sni_cluster, envoy.filters.network.tcp_proxy, envoy.filters.network.thrift_proxy, envoy.filters.network.zookeeper_proxy, envoy.http_connection_manager, envoy.mongo_proxy, envoy.ratelimit, envoy.redis_proxy, envoy.tcp_proxy
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.stats_sinks: envoy.dog_statsd, envoy.metrics_service, envoy.stat_sinks.dog_statsd, envoy.stat_sinks.hystrix, envoy.stat_sinks.metrics_service, envoy.stat_sinks.statsd, envoy.statsd
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.grpc_credentials: envoy.grpc_credentials.aws_iam, envoy.grpc_credentials.default, envoy.grpc_credentials.file_based_metadata
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.dubbo_proxy.protocols: dubbo
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.thrift_proxy.filters: envoy.filters.thrift.rate_limit, envoy.filters.thrift.router
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.transport_sockets.upstream: envoy.transport_sockets.alts, envoy.transport_sockets.raw_buffer, envoy.transport_sockets.tap, envoy.transport_sockets.tls, raw_buffer, tls
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.clusters: envoy.cluster.eds, envoy.cluster.logical_dns, envoy.cluster.original_dst, envoy.cluster.static, envoy.cluster.strict_dns, envoy.clusters.aggregate, envoy.clusters.dynamic_forward_proxy, envoy.clusters.redis
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.dubbo_proxy.route_matchers: default
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.access_loggers: envoy.access_loggers.file, envoy.access_loggers.http_grpc, envoy.access_loggers.tcp_grpc, envoy.file_access_log, envoy.http_grpc_access_log, envoy.tcp_grpc_access_log
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.filters.udp_listener: envoy.filters.udp.dns_filter, envoy.filters.udp_listener.udp_proxy
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.retry_priorities: envoy.retry_priorities.previous_priorities
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.dubbo_proxy.serializers: dubbo.hessian2
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.dubbo_proxy.filters: envoy.filters.dubbo.router
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.health_checkers: envoy.health_checkers.redis
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.thrift_proxy.protocols: auto, binary, binary/non-strict, compact, twitter
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.thrift_proxy.transports: auto, framed, header, unframed
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.resource_monitors: envoy.resource_monitors.fixed_heap, envoy.resource_monitors.injected_resource
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.tracers: envoy.dynamic.ot, envoy.lightstep, envoy.tracers.datadog, envoy.tracers.dynamic_ot, envoy.tracers.lightstep, envoy.tracers.opencensus, envoy.tracers.xray, envoy.tracers.zipkin, envoy.zipkin
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.filters.http: envoy.buffer, envoy.cors, envoy.csrf, envoy.ext_authz, envoy.fault, envoy.filters.http.adaptive_concurrency, envoy.filters.http.aws_lambda, envoy.filters.http.aws_request_signing, envoy.filters.http.buffer, envoy.filters.http.cache, envoy.filters.http.cors, envoy.filters.http.csrf, envoy.filters.http.dynamic_forward_proxy, envoy.filters.http.dynamo, envoy.filters.http.ext_authz, envoy.filters.http.fault, envoy.filters.http.grpc_http1_bridge, envoy.filters.http.grpc_http1_reverse_bridge, envoy.filters.http.grpc_json_transcoder, envoy.filters.http.grpc_stats, envoy.filters.http.grpc_web, envoy.filters.http.gzip, envoy.filters.http.header_to_metadata, envoy.filters.http.health_check, envoy.filters.http.ip_tagging, envoy.filters.http.jwt_authn, envoy.filters.http.lua, envoy.filters.http.on_demand, envoy.filters.http.original_src, envoy.filters.http.ratelimit, envoy.filters.http.rbac, envoy.filters.http.router, envoy.filters.http.squash, envoy.filters.http.tap, envoy.grpc_http1_bridge, envoy.grpc_json_transcoder, envoy.grpc_web, envoy.gzip, envoy.health_check, envoy.http_dynamo_filter, envoy.ip_tagging, envoy.lua, envoy.rate_limit, envoy.router, envoy.squash
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.retry_host_predicates: envoy.retry_host_predicates.omit_canary_hosts, envoy.retry_host_predicates.omit_host_metadata, envoy.retry_host_predicates.previous_hosts
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   http_cache_factory: envoy.extensions.http.cache.simple
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.resolvers: envoy.ip
envoy       | (2020-07-31 02:57:45.358)(1)(info)(main) (source/server/server.cc:260)   envoy.udp_listeners: raw_udp_listener
envoy       | (2020-07-31 02:57:45.391)(1)(warning)(main) (source/server/server.cc:347) No admin address given, so no admin HTTP server started.
envoy       | (2020-07-31 02:57:45.394)(1)(info)(main) (source/server/server.cc:469) runtime: layers:
envoy       |   - name: static_layer__0
envoy       |     static_layer:
envoy       |       envoy:
envoy       |         resource_limits:
envoy       |           listener:
envoy       |             learning_envoy_listener:
envoy       |               connection_limit: 10000
envoy       | (2020-07-31 02:57:45.394)(1)(info)(config) (source/server/configuration_impl.cc:103) loading tracing configuration
envoy       | (2020-07-31 02:57:45.394)(1)(info)(config) (source/server/configuration_impl.cc:69) loading 0 static secret(s)
envoy       | (2020-07-31 02:57:45.394)(1)(info)(config) (source/server/configuration_impl.cc:75) loading 2 cluster(s)
envoy       | (2020-07-31 02:57:45.397)(1)(info)(config) (source/server/configuration_impl.cc:79) loading 1 listener(s)
envoy       | (2020-07-31 02:57:45.431)(1)(info)(config) (source/server/configuration_impl.cc:129) loading stats sink configuration
envoy       | (2020-07-31 02:57:45.432)(1)(warning)(main) (source/server/server.cc:451) there is no configured limit to the number of allowed active connections. Set a limit via the runtime key overload.global_downstream_max_connections
envoy       | (2020-07-31 02:57:45.432)(1)(info)(main) (source/server/server.cc:564) starting main dispatch loop
envoy       | (2020-07-31 02:57:45.437)(1)(info)(upstream) (source/common/upstream/cluster_manager_impl.cc:171) cm init: all clusters initialized
envoy       | (2020-07-31 02:57:45.437)(1)(info)(main) (source/server/server.cc:543) all clusters initialized. initializing init manager
envoy       | (2020-07-31 02:57:45.437)(1)(info)(config) (source/server/listener_manager_impl.cc:725) all dependencies initialized. starting workers

Selling – Tips for a healthy lifestyle

Why are you selling this site?
I have no time for that.

How is it monetized?
Different ad networks. Could also be monetized with AdSence.

Does this website contain social media accounts?
No
SEMrush

How much time does this site take to run?
One hour / week.

What are the challenges of running this website?
The website runs on WordPress and has 75 posts. It is well indexed by search engines and requires 1-2 new items a week to grow.