Fixed docs and test.sh
This commit is contained in:
parent
addbf6dbc5
commit
264b909888
82
README.md
82
README.md
|
@ -1,73 +1,97 @@
|
||||||
You can stream and read files to a sentry DSN glitchtip or sentry itself I was fed up with how brittle sentry-cli was so I made this.
|
Certainly! Here is the updated README without the mentions of license or contributions:
|
||||||
|
|
||||||
I might get around to making a whole CI/CD process for this which will upload the executables properly at some point and make this public.
|
# Inotify-Glitch
|
||||||
# Go Glitch
|
|
||||||
|
|
||||||
Go Glitch is a command-line utility that reads log messages from a file or stdin and sends them to Glitchtip, a self-hosted Sentry-compatible error tracking system.
|
Inotify-Glitch is a command-line utility that reads log messages from files and sends them to Glitchtip, a self-hosted Sentry-compatible error tracking system. This tool provides a more reliable alternative to `sentry-cli` for streaming and reading log files.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
To install the binary locally, you can use the provided installation script. Run the following command in your terminal:
|
To install the binary locally, you can use the provided installation script. Run the following command in your terminal:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
curl -sSL https://git.nixc.us/Nixius/go-glitch/raw/branch/master/install.sh | bash
|
curl -sSL https://git.nixc.us/colin/inotify-glitch/raw/branch/master/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
This will download and install the Go Glitch binary to your local machine.
|
This will download and install the Inotify-Glitch binary to your local machine.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
You can use Go Glitch by specifying a log file as an argument or by piping input to it.
|
You can use Inotify-Glitch by specifying log files through environment variables.
|
||||||
|
|
||||||
### Using a Log File
|
### Setting Up Environment Variables
|
||||||
|
|
||||||
```sh
|
Inotify-Glitch requires the `GLITCHTIP_DSN` environment variable to be set with your Glitchtip DSN and the `LOG_FILES` environment variable to list the log files to monitor.
|
||||||
go-glitch /path/to/logfile
|
|
||||||
```
|
|
||||||
|
|
||||||
### Using Piped Input
|
#### Shell Environment
|
||||||
|
|
||||||
```sh
|
Add the following lines to your `.zshrc` or `.bashrc` file:
|
||||||
cat /path/to/logfile | go-glitch
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
Go Glitch requires the `GLITCHTIP_DSN` environment variable to be set with your Glitchtip DSN. You can set this environment variable in your shell environment, Dockerfile, or `docker-compose.yml` file.
|
|
||||||
|
|
||||||
### Shell Environment
|
|
||||||
|
|
||||||
Add the following line to your `.zshrc` or `.bashrc` file:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
export GLITCHTIP_DSN="your-glitchtip-dsn"
|
export GLITCHTIP_DSN="your-glitchtip-dsn"
|
||||||
|
export LOG_FILES="path/to/logfile1,path/to/logfile2"
|
||||||
```
|
```
|
||||||
|
|
||||||
After adding the line, reload your shell configuration:
|
After adding these lines, reload your shell configuration:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
source ~/.zshrc # for zsh users
|
source ~/.zshrc # for zsh users
|
||||||
source ~/.bashrc # for bash users
|
source ~/.bashrc # for bash users
|
||||||
```
|
```
|
||||||
|
|
||||||
### Dockerfile
|
#### Dockerfile
|
||||||
|
|
||||||
If you are using a Docker container, add the environment variable in your `Dockerfile`:
|
If you are using a Docker container, add the environment variables in your `Dockerfile`:
|
||||||
|
|
||||||
```Dockerfile
|
```Dockerfile
|
||||||
ENV GLITCHTIP_DSN=your-glitchtip-dsn
|
ENV GLITCHTIP_DSN=your-glitchtip-dsn
|
||||||
|
ENV LOG_FILES=/path/to/logfile1,/path/to/logfile2
|
||||||
```
|
```
|
||||||
|
|
||||||
### docker-compose.yml
|
#### docker-compose.yml
|
||||||
|
|
||||||
If you are using Docker Compose, add the environment variable in your `docker-compose.yml` file:
|
If you are using Docker Compose, add the environment variables in your `docker-compose.yml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3.8'
|
version: '3.8'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
go-glitch:
|
inotify-glitch:
|
||||||
image: your-docker-image
|
image: your-docker-image
|
||||||
environment:
|
environment:
|
||||||
- GLITCHTIP_DSN=your-glitchtip-dsn
|
- GLITCHTIP_DSN=your-glitchtip-dsn
|
||||||
|
- LOG_FILES=/path/to/logfile1,/path/to/logfile2
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Running Inotify-Glitch
|
||||||
|
|
||||||
|
Once you have set up the necessary environment variables, you can start Inotify-Glitch to monitor the specified log files.
|
||||||
|
|
||||||
|
### Running Directly
|
||||||
|
|
||||||
|
```sh
|
||||||
|
inotify-glitch
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example: Appending an Error Line to a Log File
|
||||||
|
|
||||||
|
To see Inotify-Glitch in action, append an error line to one of the monitored log files:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
echo "This is an error line" >> /path/to/logfile1
|
||||||
|
```
|
||||||
|
|
||||||
|
Inotify-Glitch will detect the change and send the error message to Glitchtip.
|
||||||
|
|
||||||
|
## Development and CI/CD
|
||||||
|
|
||||||
|
This project aims to provide a more reliable logging solution. In the future, I plan to set up a CI/CD process that will upload the executables automatically and make this project public.
|
||||||
|
|
||||||
|
### Debug Mode
|
||||||
|
|
||||||
|
To enable debug mode, set the `DEBUG` environment variable:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
export DEBUG=true
|
||||||
|
```
|
||||||
|
|
||||||
|
This will enable more detailed logging to help troubleshoot issues.
|
38
test.sh
38
test.sh
|
@ -14,9 +14,28 @@ echo "Creating test log files..."
|
||||||
echo "Initial log content" > test_log_1.log
|
echo "Initial log content" > test_log_1.log
|
||||||
echo "Initial log content" > test_log_2.log
|
echo "Initial log content" > test_log_2.log
|
||||||
|
|
||||||
|
# Determine the OS and architecture
|
||||||
|
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
|
||||||
|
ARCH="$(uname -m)"
|
||||||
|
|
||||||
|
case $ARCH in
|
||||||
|
x86_64) ARCH="amd64" ;;
|
||||||
|
arm64 | aarch64) ARCH="arm64" ;;
|
||||||
|
arm*) ARCH="arm/v7" ;;
|
||||||
|
*) echo "Unsupported architecture: $ARCH"; exit 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
BINARY="./dist/inotify-glitch_${OS}_${ARCH}"
|
||||||
|
|
||||||
|
# Check if the binary exists
|
||||||
|
if [ ! -f "$BINARY" ]; then
|
||||||
|
echo "Binary for ${OS}_${ARCH} not found. Please ensure the correct binary is present."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Run the Go program in the background
|
# Run the Go program in the background
|
||||||
echo "Starting the Go program..."
|
echo "Starting the Go program: $BINARY"
|
||||||
./dist/inotify-glitch_darwin_arm64 &
|
$BINARY &
|
||||||
|
|
||||||
# Capture the PID of the Go program
|
# Capture the PID of the Go program
|
||||||
GO_PID=$!
|
GO_PID=$!
|
||||||
|
@ -24,15 +43,18 @@ GO_PID=$!
|
||||||
# Give the program a moment to start
|
# Give the program a moment to start
|
||||||
sleep 2
|
sleep 2
|
||||||
|
|
||||||
# Append a line with an error to one of the log files
|
# Append a different error line to each log file
|
||||||
echo "Appending error line to test_log_1.log..."
|
echo "Appending error line to test_log_1.log..."
|
||||||
echo "This is an error line" >> test_log_1.log
|
echo "Error in log 1: Test error message 1" >> test_log_1.log
|
||||||
|
|
||||||
# Give the program some time to process the change
|
echo "Appending error line to test_log_2.log..."
|
||||||
sleep 2
|
echo "Error in log 2: Test error message 2" >> test_log_2.log
|
||||||
|
|
||||||
# Check if the Go program detected the change (you can enhance this section with more specific checks)
|
# Give the program some time to process the changes
|
||||||
echo "Check the logs to verify the program detected the error line."
|
sleep 5
|
||||||
|
|
||||||
|
# Check if the Go program detected the changes (you can enhance this section with more specific checks)
|
||||||
|
echo "Check the logs to verify the program detected the error lines."
|
||||||
|
|
||||||
# Capture Go program logs for debugging
|
# Capture Go program logs for debugging
|
||||||
ps -p $GO_PID > /dev/null
|
ps -p $GO_PID > /dev/null
|
||||||
|
|
Loading…
Reference in New Issue